Skip to content

Mempool

Mempool maintains the node's working set of pending transactions. It tracks the nonces and resource credits reserved by those transactions and supplies candidate transactions to Block Producer.

A transaction in Mempool has not been included in the canonical chain.

Dependencies and inputs

Mempool connects to RabbitMQ and coordinates with Chain. It observes:

  • transactions accepted or rejected during validation;
  • accepted blocks that may include pending transactions or change their validity; and
  • irreversible blocks that allow old fork state to be discarded.

Outputs and interfaces

Its RPC interface provides pending-transaction lookup, pending counts, account nonce checks, and reserved resource-credit information. After accepting a pending transaction, Mempool broadcasts that updated view. It also forwards a processed accepted-block event used by Block Producer.

State and consistency

The selected release uses a fork-aware Koinos state database for working state. Mempool state is transient relative to the blockchain: transactions can be included, invalidated by a state change, displaced by a fork, expire, or be removed under service policy.

Consequently, finding a transaction in Mempool does not guarantee inclusion in a block. If Mempool is unavailable, transaction queries and block assembly are affected even though Chain can continue validating blocks received from peers.

Versioned sources