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
|
2018-01-22 06:49:59 -08:00
|
|
|
- Note to skip to Basecoin example to dive into code.
|
2018-01-20 20:58:34 -08:00
|
|
|
* Capabilities systems
|
2018-01-22 06:49:59 -08:00
|
|
|
- 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
|
2018-01-22 06:49:59 -08:00
|
|
|
- MultiStore is like a filesystem
|
|
|
|
- Mounting an IAVLStore
|
2018-01-20 20:58:34 -08:00
|
|
|
* Context & Handler
|
|
|
|
* AnteHandler
|
2018-01-22 06:49:59 -08:00
|
|
|
- Handling Fee payment
|
|
|
|
- Handling Authentication
|
2018-01-20 20:58:34 -08:00
|
|
|
* Accounts and x/auth
|
2018-01-22 06:49:59 -08:00
|
|
|
- sdk.Account
|
|
|
|
- auth.BaseAccount
|
|
|
|
- auth.AccountMapper
|
2018-01-20 20:58:34 -08:00
|
|
|
* Wire codec
|
2018-01-22 06:49:59 -08:00
|
|
|
- vs encoding/json
|
|
|
|
- vs protobuf
|
2018-01-20 20:58:34 -08:00
|
|
|
* Dummy example
|
|
|
|
* Basecoin example
|
|
|
|
* Conclusion
|