Conversation
- Clarify that accounts store identity fields, not balances; show BaseAccount struct - Explain that modules like x/bank and staking associate state with account addresses - Fix "for the first time" phrasing in Addresses section
- Clarify that accounts store identity fields, not balances; show BaseAccount struct - Explain that modules like x/bank and staking associate state with account addresses - Fix "for the first time" phrasing in Addresses section
ericHgorski
reviewed
Feb 26, 2026
|
|
||
| - A **private key** is used to sign transactions. Before signing, the transaction data is serialized and hashed; the private key then produces a digital signature over this hash. This signature proves ownership of the private key without revealing it. Private keys must always remain secret. | ||
|
|
||
| - a **public key** is an identifying piece of information that is derived mathematically from the private key. It is used to verify that a message was signed by the private key associated with the public key and is used to identify the account. The corresponding public key is derived mathematically from the private key and is used by the network to verify those signatures. Because the public key is derived from the private key through a one-way function, it is not possible to derive the private key from the public key. |
Contributor
There was a problem hiding this comment.
formatting nit
Suggested change
| - a **public key** is an identifying piece of information that is derived mathematically from the private key. It is used to verify that a message was signed by the private key associated with the public key and is used to identify the account. The corresponding public key is derived mathematically from the private key and is used by the network to verify those signatures. Because the public key is derived from the private key through a one-way function, it is not possible to derive the private key from the public key. | |
| - A **public key** is an identifying piece of information that is derived mathematically from the private key. It is used to verify that a message was signed by the private key associated with the public key and is used to identify the account. The corresponding public key is derived mathematically from the private key and is used by the network to verify those signatures. Because the public key is derived from the private key through a one-way function, it is not possible to derive the private key from the public key. |
ericHgorski
reviewed
Feb 26, 2026
|
|
||
| Each on-chain account tracks a sequence number. The sequence number starts at zero for a newly created account and increments by one after each successful transaction from that account. | ||
|
|
||
| The sequence number exists to prevent replay attacks, which occur when an old signed transaction is submitted a second time.} Because the sequence number must be current, a previously signed transaction with an old sequence is rejected.} |
Contributor
There was a problem hiding this comment.
Suggested change
| The sequence number exists to prevent replay attacks, which occur when an old signed transaction is submitted a second time.} Because the sequence number must be current, a previously signed transaction with an old sequence is rejected.} | |
| The sequence number exists to prevent replay attacks, which occur when an old signed transaction is submitted a second time. Because the sequence number must be current, a previously signed transaction with an old sequence is rejected. |
ericHgorski
reviewed
Feb 26, 2026
|
|
||
| ## Interacting with a chain | ||
|
|
||
| A Cosmos SDK blockchain is a deterministic state machine. Its state changes only when transactions are executed and committed in blocks. |
Contributor
There was a problem hiding this comment.
Super nit: do we prefer Cosmos SDK blockchain over Cosmos blockchain? (this is used above as well)
ericHgorski
reviewed
Feb 26, 2026
| - Gas limit: the maximum computational resources you're willing to spend | ||
| - Fees: what you pay for the transaction to be processed | ||
|
|
||
| The transaction itself does not define business logic. Instead, it packages intent (messages) to change state, proves authorization (signatures), and specifies execution limits (gas and fees). You can think of a transaction as an envelope you send to the blockchain, with a message inside containing instructions, a signature to prove authenticity, and a stamp to pay for postage. |
ericHgorski
approved these changes
Feb 26, 2026
Contributor
ericHgorski
left a comment
There was a problem hiding this comment.
Smalls nits otherwise LGTM
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.
Intro pages to accounts and txs, msgs, and queries. These are part of the new intro section.
These need further revision and working before merging