Module Design
Best practices and architectural patterns for building well-structured modules.- Module Design Considerations: module boundaries, state layout, privileged operations, and inter-module dependencies
- Object-Capability Model: how the SDK uses keeper interfaces to scope access between modules
ABCI
How your application interacts with CometBFT at the protocol level, including advanced features such as mempool design and vote extensions.- ABCI Overview: CheckTx, PrepareProposal, ProcessProposal, FinalizeBlock
- Application Mempool: custom mempool implementations and transaction ordering
- Vote Extensions: injecting application data into the consensus process
Tooling
Tools available to Cosmos SDK developers.- Tool Guide: overview of all available tools by category
- Writing CLI Commands: AutoCLI and hand-written commands
- Confix: managing and migrating node configuration
State
How modules store and access state.- Module Store Internals: KVStore, prefix stores, and the multistore
- Collections API: the modern Collections framework for module state
Upgrades and Migrations
How to upgrade modules and chains without downtime.- Upgrading Modules: consensus versions, migration handlers, and store upgrades
- Cosmovisor: automated binary upgrade management
Testing and Observability
Testing your modules and monitoring a running chain.- Module Simulation: fuzz testing with the SDK’s simulation framework
- Telemetry: metrics and instrumentation
- Log v2: structured logging with zerolog and OpenTelemetry