Skip to content

Intro to accounts and txs pages#206

Open
evanorti wants to merge 11 commits intomainfrom
accounts
Open

Intro to accounts and txs pages#206
evanorti wants to merge 11 commits intomainfrom
accounts

Conversation

@evanorti
Copy link
Contributor

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

@evanorti evanorti changed the title Intro to accounts and txs pages WIP Intro to accounts and txs pages Feb 13, 2026
- 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
@evanorti evanorti marked this pull request as ready for review February 20, 2026 18:04
@evanorti evanorti changed the title WIP Intro to accounts and txs pages Intro to accounts and txs pages Feb 20, 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.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.


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.}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.


## 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.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Super nit: do we prefer Cosmos SDK blockchain over Cosmos blockchain? (this is used above as well)

- 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.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

gasss

Copy link
Contributor

@ericHgorski ericHgorski left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Smalls nits otherwise LGTM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants