cosmos-sdk/docs/design.md

32 lines
784 B
Markdown
Raw Normal View History

2018-01-20 20:58:34 -08:00
## Design philosphy
The design of the Cosmos SDK is based on the principles of "cababilities systems".
TODO If you see this on the sdk2 branch, it's because I'm still expanding this high-level section.
Sections:
* Introduction
- Note to skip to Basecoin example to dive into code.
2018-01-20 20:58:34 -08:00
* Capabilities systems
- Need for module isolation
- Capability is implied permission
- http://www.erights.org/elib/capability/ode/ode.pdf
2018-01-20 20:58:34 -08:00
* Tx & Msg
* MultiStore
- MultiStore is like a filesystem
- Mounting an IAVLStore
2018-01-20 20:58:34 -08:00
* Context & Handler
* AnteHandler
- Handling Fee payment
- Handling Authentication
2018-01-20 20:58:34 -08:00
* Accounts and x/auth
- sdk.Account
- auth.BaseAccount
- auth.AccountMapper
2018-01-20 20:58:34 -08:00
* Wire codec
- vs encoding/json
- vs protobuf
2018-01-20 20:58:34 -08:00
* Dummy example
* Basecoin example
* Conclusion