Do Ethereum clients have a memory pool which keeps transactions like Bitcoin's mempool? If so, what is the name for it in Ethereum?

1 Answer 1


It's called the Transaction Pool, or TxPool in the code.

From go-ethereum - tx_pool.go, lines 35 to 62:

var (
    // Transaction Pool Errors

const (
    maxQueued = 64 // max limit of queued txs per address

// TxPool contains all currently known transactions. Transactions
// enter the pool when they are received from the network or submitted
// locally. They exit the pool when they are included in the blockchain.
// The pool separates processable transactions (which can be applied to the
// current state) and future transactions. Transactions move between those
// two states over time as they are received and processed.
type TxPool struct {
    quit         chan bool // Quiting channel

In the Go Ethereum client implementation geth, you can type the following command to display a count of transactions in your pool:

> txpool.status
  pending: 0,
  queued: 1

The pending result shows the number of transactions ready to be "executed" (included in the next mined block). The Ethereum transaction pool also has a queue to hold transactions that are not quite ready to process, e.g. when the transaction nonce is too high. See What happens when a transaction nonce is too high?.

And for comparison, here is Bitcoin's txmempool.cpp.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.