From f2fcfba3e3bd1f5d745e74da5a7a1d819137d350 Mon Sep 17 00:00:00 2001 From: Zach Ramsay Date: Mon, 28 Aug 2017 20:10:48 -0400 Subject: [PATCH] move & edit content from quarks/readme --- README.md | 10 +++++++- docs/quark/README.md | 54 -------------------------------------------- 2 files changed, 9 insertions(+), 55 deletions(-) delete mode 100644 docs/quark/README.md diff --git a/README.md b/README.md index 71df4da942..4d8b59b23a 100644 --- a/README.md +++ b/README.md @@ -13,9 +13,17 @@ Branch | Tests | Coverage | Report Card develop | [![CircleCI](https://circleci.com/gh/cosmos/cosmos-sdk/tree/develop.svg?style=shield)](https://circleci.com/gh/cosmos/cosmos-sdk/tree/develop) | [![codecov](https://codecov.io/gh/cosmos/cosmos-sdk/branch/develop/graph/badge.svg)](https://codecov.io/gh/cosmos/cosmos-sdk) | [![Go Report Card](https://goreportcard.com/badge/github.com/cosmos/cosmos-sdk/tree/develop)](https://goreportcard.com/report/github.com/cosmos/cosmos-sdk/tree/develop) master | [![CircleCI](https://circleci.com/gh/cosmos/cosmos-sdk/tree/master.svg?style=shield)](https://circleci.com/gh/cosmos/cosmos-sdk/tree/master) | [![codecov](https://codecov.io/gh/cosmos/cosmos-sdk/branch/master/graph/badge.svg)](https://codecov.io/gh/cosmos/cosmos-sdk) | [![Go Report Card](https://goreportcard.com/badge/github.com/cosmos/cosmos-sdk/tree/master)](https://goreportcard.com/report/github.com/cosmos/cosmos-sdk/tree/master) -The Cosmos SDK is an [ABCI application](https://github.com/tendermint/abci) designed to be used with the [Tendermint consensus engine](https://tendermint.com/) to form a Proof-of-Stake cryptocurrency. It also provides a general purpose framework +The Cosmos SDK is the core framework for constructing +the atom tokens which will power [The Cosmos Network](https://cosmos.network/). It is an [ABCI application](https://github.com/tendermint/abci) designed to be used with the [Tendermint consensus engine](https://tendermint.com/) to form a Proof-of-Stake cryptocurrency. It also provides a general purpose framework for extending the feature-set of the cryptocurrency by implementing plugins. +This SDK affords you all the tools you need to rapidly develop +robust blockchains and blockchain applications which are interoperable with The +Cosmos Hub. It is a blockchain development 'starter-pack' of common blockchain +modules while not enforcing their use thus giving maximum flexibility for +application customization. For example, do you require fees, how do you +want to log messages, do you enable IBC, do you even have a cryptocurrency? + Within this repository, the `basecoin` app serves as a reference implementation for how we build ABCI applications in Go, and is the framework in which we implement the [Cosmos Hub](https://cosmos.network). **It's easy to use, and doesn't require any forking** - just implement your plugin, import the libraries, and away you go with a full-stack blockchain and command line tool for transacting. diff --git a/docs/quark/README.md b/docs/quark/README.md deleted file mode 100644 index bfdd7cc3d1..0000000000 --- a/docs/quark/README.md +++ /dev/null @@ -1,54 +0,0 @@ -# Quark - -Quarks are the fundamental building blocks of atoms through which DNA, life, -and matter arise. Similarly this package is the core framework for constructing -the atom tokens which will power [The Cosmos Network](https://cosmos.network/). - -The Quark framework affords you all the tools you need to rapidly develop -robust blockchains and blockchain applications which are interoperable with The -Cosmos Hub. Quark is an abstraction of [Tendermint](https://tendermint.com/) -which provides the core consensus engine for your blockchain. Beyond consensus, -Quark provides a blockchain development 'starter-pack' of common blockchain -modules while not enforcing their use thus giving maximum flexibility for -application customization. For example, do you require fees, how do you -want to log messages, do you enable IBC, do you even have a cryptocurrency? - -Disclaimer: when power and flexibility meet, the result is also some level of -complexity and a learning curve. Here is an introduction to the core concepts -embedded in Quark. - -## Inspiration - -The basic concept came from years of web development. A number of patterns -have arisen in that realm of software which enable people to build remote -servers with APIs remarkably quickly and with high stability. The -[ABCI](https://github.com/tendermint/abci) application interface is similar to -a web API (DeliverTx is like POST and Query is like GET and `SetOption` is like -the admin playing with the config file). Here are some patterns that might be -useful: - -* MVC - separate data model (storage) from business logic (controllers) -* Routers - easily direct each request to the appropriate controller -* Middleware - a series of wrappers that provide global functionality (like - authentication) to all controllers -* Modules (gems, package, ...) - developers can write a self-contained package - with a given set of functionality, which can be imported and reused in other - apps - -Also, the idea of different tables/schemas in databases, so you can keep the -different modules safely separated and avoid any accidental (or malicious) -overwriting of data. - -Not all of these can be pulled one-to-one in the blockchain world, but they do -provide inspiration to provide orthogonal pieces that can easily be combined -into various applications. - -## Further reading - -* [Quark overview](overview.md) -* [Glossary of the terms](glossary.md) -* [Standard modules](stdlib.md) -* Guide to building a module -* Demo of CLI tool -* IBC in detail -* Diagrams... Coming Soon!