Nonces et ordonnancement
Séquençage des transactions
Nonces et ordonnancement est une leçon Web3 & DApp Development Fundamentals gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Web3 & DApp Development Fundamentals, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Web3 & DApp Development Fundamentals comprend 4 leçons au total.
Certaines parties de cette leçon n'ont pas encore été traduites et s'affichent en anglais.
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: 3Enforcing 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 firstReplacing 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 usePutting 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.
Questions Fréquemment Posées
La leçon « Nonces et ordonnancement » est-elle gratuite ?
Oui — le texte complet de « Nonces et ordonnancement » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Web3 & DApp Development Fundamentals, passe à CoddyKit PRO. Le cours Web3 & DApp Development Fundamentals comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Nonces et ordonnancement » ?
Séquençage des transactions Tu pratiques Web3 & DApp Development Fundamentals avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Web3 & DApp Development Fundamentals ?
Aucune expérience préalable n'est requise. Web3 & DApp Development Fundamentals sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.
Combien de temps prend la leçon « Nonces et ordonnancement » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Web3 & DApp Development Fundamentals ?
Oui. Chaque leçon Web3 & DApp Development Fundamentals inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Qu’est-ce que le gas
- Cycle de vie d’une transaction
- Limites et frais de gas
- Nonces et ordonnancement