Conversation
Add two new concept pages under sdk/next/learn/concepts: accounts.mdx and transactions.mdx. accounts.mdx documents the account model (keys, seed phrases, addresses), account metadata (account number, sequence), replay protection, balances, account types (base, module, vesting), and how accounts authorize transactions. transactions.mdx explains transactions vs queries, transaction structure (messages, signatures, sequence, gas, fees), message definitions via protobuf, message execution and atomicity, block application, query behavior, and the optional unordered transaction mode in v0.53. These pages expand the SDK learning path and link to the transaction lifecycle content.
Add two new conceptual docs under sdk/next/learn/concepts: lifecycle.mdx (Transaction Lifecycle) and modules.mdx (Intro to Modules). lifecycle.mdx details the ABCI flow and BaseApp phases (InitChain, CheckTx/mempool, PrepareProposal, ProcessProposal, FinalizeBlock with PreBlock/BeginBlock/AnteHandler/message routing/atomic execution/EndBlock, Commit) and emphasizes deterministic execution. modules.mdx introduces module architecture, state, messages, queries, MsgServer and Keeper responsibilities, inter-module access, block hooks, genesis initialization, and the typical x/ module file layout. These pages provide foundational SDK concepts for building and reasoning about application logic and block/tx processing.
The sdk/next/ directory was created as a copy of sdk/v0.53/ but the build/ subdirectory was not included, causing broken internal links in the learn/ pages. Copy build/ from v0.53, rewrite internal links to /sdk/next/, add noindex: true to all pages, and update .gitignore to allow sdk/next/build/. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
ericHgorski
approved these changes
Mar 13, 2026
Contributor
ericHgorski
left a comment
There was a problem hiding this comment.
Whats your process with the TODOs? Not sure If I should be bumping them or not. Otherwise LGTM! With some minor nits.
| The result is a single constructor, `NewExampleApp`, that returns a fully wired, ready-to-run chain. | ||
|
|
||
| Most examples on this page come from the counter module example in the `example` repo, where `x/counter` is wired into a fuller chain. The minimal counter module example shows the smaller `app.go` delta needed to add `x/counter` to a stripped-down app. | ||
| {/* TODO: link to minimal counter module example when it is published in the docs */} |
|
|
||
| For information on how modules define their genesis methods (`DefaultGenesis`, `ValidateGenesis`, `InitGenesis`, `ExportGenesis`) and initialization ordering, see [Intro to Modules](/sdk/next/learn/concepts/modules) and [Transaction Lifecycle](/sdk/next/learn/concepts/lifecycle). | ||
|
|
||
| {/* todo: link to genesis in tutorial */} |
sdk/next/learn/concepts/testing.mdx
Outdated
|
|
||
| The Cosmos SDK provides a layered testing approach that mirrors the architecture of the framework itself. Tests are organized into three levels, each testing a progressively larger slice of the application. This page uses the counter module example in the `example` repo, not the minimal counter module example, because the fuller module includes the testing surfaces needed for these examples. | ||
|
|
||
| {/* TODO: link to counter module example walkthrough when it is published in the docs */} |
sdk/next/learn/concepts/testing.mdx
Outdated
|
|
||
| The SDK provides a telemetry package built around OpenTelemetry, with legacy support for go-metrics. Modules can emit counters, gauges, and histograms from keeper methods to expose runtime behavior for monitoring. | ||
|
|
||
| {/* TODO: link to telemetry documentation */} |
Improve clarity and cross-linking across several sdk/next concept pages. Changes include: rename reference to "Cosmos SDK Architecture" in accounts, expand and clarify ordered vs unordered transaction behavior and link to the Transactions page; add a "Run a Local Node" link and shorten gRPC wording in CLI docs; add a Store link from Modules and add a Module Manager cross-link from SDK structure; remove TODO placeholders in BaseApp docs and mark the module-manager link; tidy Store formatting (code block language) and remove extra blank lines; update Testing page links for simd and the simd node tutorial and add the Telemetry link. These edits are editorial: clarifications, link additions, formatting fixes, and removal of inline TODOs. thanks @ericHgorski for your review!!!!
Greptile SummaryThis PR adds 12 new Cosmos SDK concept reference pages covering accounts, transactions, lifecycle, modules, state/storage, encoding, context/gas/events, SDK structure, BaseApp, app.go, CLI/gRPC/REST, and testing. It also updates the The content is thorough, technically accurate, and well cross-linked. There are four broken-link issues to address before merging:
Confidence Score: 3/5
Important Files Changed
Last reviewed commit: 8288a93 |
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
* Sr25519Type removed, add BLS * Update modules.mdx * Update grpc_rest.mdx * Update store.mdx * Update README.mdx * Remove store tracing/metrics and update docs Remove tracing and metrics plumbing from the store and app build paths: drop traceStore parameters and SetCommitMultiStoreTracer calls (NewSimApp, newTestnetApp, AppBuilder.Build, runtime Build, etc.), remove store tracing APIs (SetTracer, TracingEnabled, TraceContext, related fields) and remove metrics arguments from store/IAVL loaders and constructors (NewStore, LoadStore, LoadStoreWithInitialVersion, LoadStoreWithOpts). Update documentation to reflect several module and API changes: mark x/crisis moved to contrib, x/nft moved to contrib, x/group moved to Enterprise, expand x/consensus README, add distribution CLI/grpc query examples, add mint MaxSupply notes, add gov hooks and voting-power API changes, and tidy events/store docs to remove deprecated tracing references. These changes simplify the codebase by removing legacy tracing/metrics integrations and update docs for module relocations and API evolutions.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
New pages added:
Accounts — Explains how identities work in the Cosmos SDK, including address derivation, balances, sequence numbers, and the different types of accounts used by modules and users.
Transactions, Messages, and Queries — Describes how users interact with a chain through transactions that execute messages and queries that read state without modifying it.
Lifecycle of a Block and Transaction — Explains the execution flow of the blockchain, including the block lifecycle (PreBlock → BeginBlock → transactions → EndBlock → Commit) and how transactions move from broadcast through validation and execution.
Intro to Modules — Introduces the modular architecture of the SDK, explaining how modules encapsulate state, logic, messages, queries, genesis initialization, and block hooks.
State, Storage, and Genesis — Explains how application state is stored in KV stores and multistores, how modules read and write state, and how the chain initializes its first state through genesis.
Encoding — Describes how data is serialized using Protocol Buffers, how interface types are handled through
Anyand the interface registry, and how.protofiles generate the Go types used by modules.Execution Context, Gas, and Events — Explains the runtime execution environment provided by
sdk.Context, including block metadata, gas metering, event emission, and atomic execution.Intro to SDK Structure — Provides a conceptual map of how Cosmos SDK codebases are organized, explaining the purpose of directories like
x/,app/,cmd/, andproto/.BaseApp Overview — Explains the role of BaseApp as the execution engine that connects CometBFT to modules, runs the AnteHandler, manages the store, and routes messages to module handlers.
app.go Overview — Describes how a specific blockchain application is assembled by wiring BaseApp, keepers, modules, stores, and execution order together in
app.go.CLI, gRPC, and REST API — Explains the external interfaces that allow users and applications to interact with a chain through command-line tools, gRPC services, and REST endpoints.
Testing in the SDK — Introduces the main testing approaches used in Cosmos SDK development, including keeper unit tests, in-memory integration tests, and simulation-based testing used to validate state transitions and invariants.