cosmos-sdk/x/staking/spec
Rikard Hjort c41baa9bc8
PlantUML diagrams (#8712)
* Overview of keepers in object capability model (OCM)

* Updates to the spec, making clarifications

* Create a sequence diagram of a (fresh) delegation

* Misc notes, not yet decided where to put them

* Description of the shares abstraction in validators

* Model all keeper dependencies and move the UML file to docs

* Move and rename delegation sequence diagram

* Move shares description

* Remove TODO

* Diagram touch-ups

* Add how consensus power is calculated

* remove temp file

* Diagram improvements

* Describe slashing in more detail

* Describe redelegation

* Describe unbonding

* Delegation updates

* Delegation updates

* Make a diagram describing overall transaction flow

* Add delegation flows for the events of tokens being bonded/unbonding/etc.

* Grammar fix

* Diagram updates: distinguish alts, remove numbering.

* Use groups instead of "func:" participants

* Remove unused keepers from dependency diagram

* Add title to unbonding diagram

* Move keeper dependencies

* small doc updates

* remove numbers on sequence diagram

* !!!WIP EndBlock

* Explain "Last"-prefix in storage

* Remove `panic` step (they are supposed to never happen)

* EndBlock sequence diagram (with TODOs)

* Add TODO

* More visible TODOs

* Remove numbering

* Complete EndBlock

* Remove numbering

* Remove TODOs and update title

* add title back

* remove endblock seq-diagram

* Make power index update conditional on not being jailed

* update title

* Move files to /docs

* Install PlantUML and compile images to png and txt

* Use transaction flow in documentation

* Use staking UML in staking docs

* Clarify uml with inline doc

* Add keeper deps diagram to docs

* Only produce SVG images

Co-authored-by: hjort <>
Co-authored-by: Marko <marbar3778@yahoo.com>
2021-04-06 09:50:56 +00:00
..
01_state.md Staking spec updates (#8843) 2021-03-19 12:06:53 +00:00
02_state_transitions.md Staking spec updates (#8843) 2021-03-19 12:06:53 +00:00
03_messages.md PlantUML diagrams (#8712) 2021-04-06 09:50:56 +00:00
04_begin_block.md Merge PR #5380: ADR 17 Implementation: Historical Module 2019-12-18 08:20:02 -05:00
05_end_block.md Staking spec updates (#8843) 2021-03-19 12:06:53 +00:00
06_hooks.md Update docs website (#5827) 2020-03-24 16:20:30 +00:00
07_events.md docs: Update x/staking spec (#8395) 2021-02-01 12:35:18 +00:00
08_params.md Updates and clarifications to the staking specs (#8675) 2021-02-25 14:42:41 +00:00
README.md docs: Update x/staking spec (#8395) 2021-02-01 12:35:18 +00:00

README.md

staking

Abstract

This paper specifies the Staking module of the Cosmos-SDK, which was first described in the Cosmos Whitepaper in June 2016.

The module enables Cosmos-SDK based blockchain to support an advanced Proof-of-Stake system. In this system, holders of the native staking token of the chain can become validators and can delegate tokens to validators, ultimately determining the effective validator set for the system.

This module will be used in the Cosmos Hub, the first Hub in the Cosmos network.

Contents

  1. State
  2. State Transitions
  3. Messages
  4. Begin-Block
  5. End-Block
  6. Hooks
  7. Events
  8. Parameters