Skip to content

Commit a5215d2

Browse files
committed
add links to tools and an example script link
1 parent 1e4c1f2 commit a5215d2

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

mempool/README.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -195,7 +195,7 @@ mempoolConfig := &evmmempool.EVMMempoolConfig{
195195

196196
### Problem Statement
197197

198-
The default CometBFT mempool is incompatible with Ethereum tooling (Forge, Hardhat, deployment scripts) due to fundamental differences in transaction ordering expectations:
198+
The default CometBFT mempool is incompatible with Ethereum tooling ([Forge](https://getfoundry.sh/), [Hardhat](https://hardhat.org/), [deployment scripts](https://devdocs.optimism.io/op-deployer/reference-guide/custom-deployments.html)) due to fundamental differences in transaction ordering expectations:
199199

200200
1. **FIFO vs Priority Ordering**: CometBFT uses strict FIFO ordering, while Ethereum tools expect fee-based prioritization
201201
2. **Nonce Gap Rejection**: CometBFT immediately rejects out-of-order nonces, while Ethereum tools expect such transactions to queue until executable
@@ -208,6 +208,8 @@ ERROR unable to publish transaction nonce=40 expected=12: invalid sequence
208208
ERROR unable to publish transaction nonce=41 expected=12: invalid sequence
209209
```
210210

211+
**Real-World Testing**: The [`tests/systemtests/Counter/script/SimpleSends.s.sol`](../../tests/systemtests/Counter/script/SimpleSends.s.sol) script demonstrates typical Ethereum tooling behavior - it sends 10 sequential transactions in a batch, which naturally arrive out of order and create nonce gaps. With the default Cosmos mempool, this script would fail with sequence errors. With the EVM mempool, all transactions are queued locally and promoted as gaps are filled, allowing the script to succeed.
212+
211213
### Design Principles
212214

213215
1. **Instant Finality**: Designed for Cosmos chains with instant finality (no reorgs)

0 commit comments

Comments
 (0)