Web3 & DApp Development Fundamentals · Aula

Nonces e ordenação

Sequenciamento de transações

Aula 4 de 413 etapas

Nonces e ordenação é uma aula grátis de Web3 & DApp Development Fundamentals no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Web3 & DApp Development Fundamentals, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Web3 & DApp Development Fundamentals inclui 4 aulas no total.

Partes desta aula ainda não foram traduzidas e aparecem em inglês.

Why Order Matters

Imagine sending two transactions: first deposit, then withdraw. If they execute out of order, the withdrawal could fail.

The nonce guarantees your transactions run in the exact order you intend.

What Is an Account Nonce?

An account nonce is a counter tracking how many transactions an account has sent. It starts at 0 and increases by 1 with each confirmed transaction.

Note: this is different from the mining nonce in Proof of Work.

Account history:
  tx with nonce 0  (1st tx)
  tx with nonce 1  (2nd tx)
  tx with nonce 2  (3rd tx)
  next expected nonce: 3

Enforcing Sequence

The network only executes a transaction whose nonce matches the account's next expected value.

A transaction with nonce 5 will not run until nonces 0 through 4 have been processed.

Preventing Replay Attacks

Because each nonce is used once, an attacker cannot replay (resubmit) an old signed transaction.

The network already processed that nonce, so the duplicate is rejected automatically.

Stuck Transactions

If a transaction with a given nonce gets stuck (too low a fee), all later nonces are blocked behind it.

Nothing can proceed until that gap is filled, because nonces must be sequential.

pending:
  nonce 4  (stuck, low fee)
  nonce 5  (waiting...)
  nonce 6  (waiting...)
-> nonce 4 must clear first

Replacing a Transaction

To unstick things, you can replace a pending transaction by resubmitting it with the same nonce and a higher fee.

This is often called speed-up or cancel — validators take the higher-paying version.

Gaps in Nonces

A nonce gap happens when you submit nonce 7 while nonce 6 is missing.

The transaction sits unprocessed until the gap is filled, since the network requires a continuous sequence.

Ordering Within a Block

The nonce orders transactions from one account, but ordering between different accounts within a block is decided by the validator.

Validators typically order by fee, which is why ordering can be exploited (see MEV).

MEV and Ordering

Because validators choose transaction order, they can profit by reordering, inserting, or censoring transactions. This is called Maximal Extractable Value (MEV).

It shows that ordering is economically valuable, not just technical bookkeeping.

Checking the Next Nonce

Wallets query the network for the next nonce using eth_getTransactionCount.

This returns the count of confirmed transactions, which equals the next nonce to use.

count = eth_getTransactionCount(
    myAddress, "pending")
// count is the next nonce to use

Putting It Together

The account nonce sequences your transactions, prevents replays, and must be continuous.

Validators decide cross-account ordering, which introduces fee-based prioritization and MEV.

Quick Check

Test your nonce knowledge.

Recap: Nonces and Ordering

You learned that:

  • The nonce counts an account's transactions and enforces order
  • It prevents replay attacks
  • A stuck low nonce blocks later ones until replaced
  • Validators decide cross-account ordering, enabling MEV

Next course: EVM fundamentals.

Grátis para começar

Aprenda Web3 & DApp Development Fundamentals com um tutor de IA — grátis

Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.

Cursos
29
Aulas
105

Perguntas Frequentes

A aula “Nonces e ordenação” é grátis?

Sim — o texto completo de “Nonces e ordenação” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Web3 & DApp Development Fundamentals, atualize para CoddyKit PRO. O curso de Web3 & DApp Development Fundamentals inclui 4 aulas no total.

O que vou aprender em “Nonces e ordenação”?

Sequenciamento de transações Você pratica Web3 & DApp Development Fundamentals com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Web3 & DApp Development Fundamentals?

Nenhuma experiência prévia é necessária. Web3 & DApp Development Fundamentals no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.

Quanto tempo leva a aula “Nonces e ordenação”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Web3 & DApp Development Fundamentals?

Sim. Cada aula de Web3 & DApp Development Fundamentals inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. O que é gas
  2. Ciclo de vida de uma transação
  3. Limites e taxas de gas
  4. Nonces e ordenação
← Voltar para Web3 & DApp Development Fundamentals