1

First of all, my terminology may be off, sorry about that.

I understand how a blockchain holds data on transactions that have been "accepted" (i.e. a block has been mined). But if I decide to transfer from 0xA to 0xB, where is that stored (before it makes it into a valid block)? Is it sent to a specific node and then shared between other nodes as a "possible" transaction?

1

Prior to being included in a block, the transaction lives in the tx pool (which is also referred to as the mempool).

The tx pool is simply where transactions live when waiting to be mined. Ethereum nodes (running geth and parity, among others) all receive, store, and broadcast transactions when they are running (provided they are configured to do so). When you send a transaction, the node closest to you will pick up the transaction, store it in its tx pool, and broadcast it out to other nodes to do the same. When finding peers, Ethereum uses a node discovery protocol that is very similar to the Kademlia protocol.

When a transaction is included on-chain, it is dropped from the tx pool.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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