move & edit content from quarks/readme
This commit is contained in:
parent
8ba41d718c
commit
f2fcfba3e3
10
README.md
10
README.md
|
@ -13,9 +13,17 @@ Branch | Tests | Coverage | Report Card
|
||||||
develop | [](https://circleci.com/gh/cosmos/cosmos-sdk/tree/develop) | [](https://codecov.io/gh/cosmos/cosmos-sdk) | [](https://goreportcard.com/report/github.com/cosmos/cosmos-sdk/tree/develop)
|
develop | [](https://circleci.com/gh/cosmos/cosmos-sdk/tree/develop) | [](https://codecov.io/gh/cosmos/cosmos-sdk) | [](https://goreportcard.com/report/github.com/cosmos/cosmos-sdk/tree/develop)
|
||||||
master | [](https://circleci.com/gh/cosmos/cosmos-sdk/tree/master) | [](https://codecov.io/gh/cosmos/cosmos-sdk) | [](https://goreportcard.com/report/github.com/cosmos/cosmos-sdk/tree/master)
|
master | [](https://circleci.com/gh/cosmos/cosmos-sdk/tree/master) | [](https://codecov.io/gh/cosmos/cosmos-sdk) | [](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.
|
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
|
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.
|
you go with a full-stack blockchain and command line tool for transacting.
|
||||||
|
|
||||||
|
|
|
@ -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!
|
|
Loading…
Reference in New Issue