3

Is there a Python client to listen to all latest transaction from the Bitcoin network? How does blockchain.info doing it?

3 Answers 3

4

Blockchain.info uses a special system that doesn't involve Python (as far as we know), they're most likely using a modifed node that notifies them of transactions.

The easy way

Just use Blockchain.info's transaction notification service. Their websockets api lets anyone subscribe to any bitcoin address.

The hard way

If you want to listen to all latest transactions, and not to addresses you own, you're going to need more in depth control. Otherwise use Bitcoind and its walletnotify parameter. Check out PyNode, a Bitcoin node implementation in Python.

3

You could write python code that polls an instance of bitcoin-qt/bitcoind, the reference client. Here are the RPC calls, available via HTTP requests:

https://en.bitcoin.it/wiki/Original_Bitcoin_client/API_Calls_list

The getrawmempool can could be polled to return unconfirmed transactions that have been locally seen. (I believe -walletnotify will only notify about wallet-relevant transactions, but tailing the debug log could be another way to learn of new unconfirmed transactions.) By using the -blocknotify command-line option, your external scripts can receive notification when new blocks are discovered, which might also include transactions that were never in the local unconfirmed pool.

You'd have to run with the -txindex option, so that you could pull all new transaction details out of the local blockchain, rather than just those from your wallet.

1

It looks to me like chainsnort is just what you're looking for: https://bitcointalk.org/index.php?topic=373490.0

The publicly available version uses Python websockets and connects to blockchain.info to listen to all new transactions in real time. There is also an RPC version to get the same type of data straight from your own bitcoind node, without relying on blockchain.info, but it's still in private beta.

Your Answer

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

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