2

I have 2 servers with running the same Bitcoin Core v0.9.3.0-g40d2041-beta (64-bit). I use getrawmempool to get all new transactions in the same time but I have different result. One server always have more transactions. Difference quite big - about 10%.

Why?

I am trying monitor all new transactions for some reasons and this difference means for me that getrawmempool not is not good way for this.

  • Where are these servers geographically located? Do they have the same .config files and command line parameters? Did you try restarting them both at the same time? – George Kimionis Dec 11 '14 at 22:10
  • In addition to @GeorgeKimionis's suggestions, you may want to use the -addnode start-up option or the addnode RPC to make sure both servers are connected to each other. – David A. Harding Dec 11 '14 at 23:14
2

Why do you expect them to be identical?

There are no guarantees about synchronization between mempool contents. In fact, if there was, we wouldn't need a blockchain at all. We'd just use "time of entering mempool" to order transactions.

Transactions are relayed across the network, but under various conditions, and usually the mempool contents reflects what a node decided to relay.

Reasons for variations between nodes:

  • Only the first of two double spends will typically enter the mempool (but some nodes use different policies, such a replace by fee).
  • There are various versions of nodes out there, with different relay fee requirements.
  • In some cases, relay is subjected to rate limiting, which means arbitrary dropping of transactions.
  • Standardness rules have changed over time, changing which types of transactions are accepted into the mempool.
0

getrawmempool: lists the transactions in bitcoind's memory and isnt the best way to monitor all new transactions.

You could use data from blockexplorers, the best one that does address tracking and analysis is blocktrail.com

  • I need to get transaction just after payment was made. I know only destination address(not from my wallet) and amount. I do not want to use external services. Let me know if you know another approach without using getrawmempool. – Alex Dec 12 '14 at 16:07

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.