def __init__(self): # Create 3 thread-pools each with 1 thread self.network_service = bitcoin.async_service(1) self.disk_service = bitcoin.async_service(1) self.mempool_service = bitcoin.async_service(1) self.hosts = bitcoin.hosts(self.network_service) self.handshake = bitcoin.handshake(self.network_service) self.network = bitcoin.network(self.network_service) self.protocol = bitcoin.protocol(self.network_service, self.hosts, self.handshake, self.network) db_prefix = "/home/genjix/libbitcoin/database" self.blockchain = bitcoin.bdb_blockchain(self.disk_service, db_prefix, self.blockchain_started) self.poller = bitcoin.poller(self.mempool_service, self.blockchain) self.transaction_pool = \ bitcoin.transaction_pool(self.mempool_service, self.blockchain) self.protocol.subscribe_channel(self.monitor_tx) self.session = \ bitcoin.session(self.network_service, self.hosts, self.handshake, self.network, self.protocol, self.blockchain, self.poller, self.transaction_pool) self.session.start(self.handle_start) self.memory_buffer = \ membuf.memory_buffer(self.mempool_service.internal_ptr, self.blockchain.internal_ptr, self.transaction_pool.internal_ptr)
import bitcoin, trace_tx def blockchain_started(ec, chain): print "Blockchain initialisation:", ec def handle_tx(ec, tx): if ec: print ec trace_tx.trace_tx(service.internal_ptr, chain.internal_ptr, tx, finish) def finish(ec, result): print ec print result service = bitcoin.async_service(1) chain = bitcoin.bdb_blockchain(service, "/home/genjix/libbitcoin/database", blockchain_started) chain.fetch_transaction( bitcoin.hash_digest("16e3e3bfbaa072e33e6a9be1df7a13ecde5ad46a8d4d4893dbecaf0c0aeeb842"), handle_tx) raw_input()
import bitcoin import trace_tx def blockchain_started(ec, chain): print "Blockchain initialisation:", ec def handle_tx(ec, tx): if ec: print ec trace_tx.trace_tx(service.internal_ptr, chain.internal_ptr, tx, finish) def finish(ec, result): print ec print result if __name__ == '__main__': service = bitcoin.async_service(1) chain = bitcoin.bdb_blockchain(service, "/home/genjix/libbitcoin/database", blockchain_started) chain.fetch_transaction( bitcoin.hash_digest( "16e3e3bfbaa072e33e6a9be1df7a13ecde5ad46a8d4d4893dbecaf0c0aeeb842" ), handle_tx) raw_input()
import bitcoin def start_polling(ec, node, poll): if ec: print ec return poll.query(node) if __name__ == "__main__": s1 = bitcoin.async_service(1) s2 = bitcoin.async_service(1) chain = bitcoin.bdb_blockchain(s1, "database") poll = bitcoin.poller(chain) net = bitcoin.network(s2) hs = bitcoin.handshake(s2) hs.connect(net, "localhost", 8333, bitcoin.bind(start_polling, bitcoin._1, bitcoin._2, poll)) raw_input()