Web3 & DApp Development Fundamentals · Lekcja

Nonce i kolejność

Kolejkowanie transakcji

Lekcja 4 z 413 kroki

Nonce i kolejność to bezpłatna lekcja Web3 & DApp Development Fundamentals na CoddyKit. To lekcja 4 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Web3 & DApp Development Fundamentals, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Web3 & DApp Development Fundamentals zawiera 4 lekcji w sumie.

Części tej lekcji nie zostały jeszcze przetłumaczone i są wyświetlane po angielsku.

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.

Bezpłatny start

Ucz się Web3 & DApp Development Fundamentals dzięki korepetycjom AI — za darmo

Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.

Kursy
29
Lekcje
105

Często zadawane pytania

Czy lekcja „Nonce i kolejność” jest bezpłatna?

Tak — pełny tekst „Nonce i kolejność” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Web3 & DApp Development Fundamentals, przejdź na CoddyKit PRO. Kurs Web3 & DApp Development Fundamentals zawiera 4 lekcji w sumie.

Co nauczysz się w „Nonce i kolejność”?

Kolejkowanie transakcji Ćwiczysz Web3 & DApp Development Fundamentals z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Web3 & DApp Development Fundamentals?

Nie wymagamy żadnego doświadczenia. Web3 & DApp Development Fundamentals w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 4 z 4.

Ile czasu zajmuje lekcja „Nonce i kolejność”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Web3 & DApp Development Fundamentals?

Tak. Każda lekcja Web3 & DApp Development Fundamentals zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Czym jest gas
  2. Cykl życia transakcji
  3. Limity i opłaty gas
  4. Nonce i kolejność
← Powrót do Web3 & DApp Development Fundamentals