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)
def __init__(self): self._net_pool = bitcoin.threadpool(1) self._disk_pool = bitcoin.threadpool(1) self._mem_pool = bitcoin.threadpool(1) self._hosts = bitcoin.hosts(self._net_pool) self._handshake = bitcoin.handshake(self._net_pool) self._network = bitcoin.network(self._net_pool) self._protocol = bitcoin.protocol(self._net_pool, self._hosts, self._handshake, self._network) self._chain = bitcoin.leveldb_blockchain(self._disk_pool) self._poller = bitcoin.poller(self._mem_pool, self._chain) self._txpool = bitcoin.transaction_pool(self._mem_pool, self._chain) pars = bitcoin.create_session_params(self._handshake, self._protocol, self._chain, self._poller, self._txpool) self._session = bitcoin.session(self._net_pool, pars) self._tx_subscribe = Subscriber()
def __init__(self): self._net_pool = threadpool(1) self._disk_pool = threadpool(1) self._mem_pool = threadpool(1) self._hosts = hosts(self._net_pool) self._handshake = handshake(self._net_pool) self._network = network(self._net_pool) self._protocol = protocol(self._net_pool, self._hosts, self._handshake, self._network) self._chain = leveldb_blockchain(self._disk_pool) self._poller = poller(self._mem_pool, self._chain) self._txpool = transaction_pool(self._mem_pool, self._chain) pars = create_session_params(self._handshake, self._protocol, self._chain, self._poller, self._txpool) self._session = session(self._net_pool, pars) self.report("[fullnode] ok")
for k, v in line.iteritems(): begin = k + ":" print begin, " " * (12 - len(begin)), v print class FakeMonitor: def tx_stored(self, tx): pass def tx_confirmed(self, tx): pass service = bitcoin.async_service(1) prefix = "/home/genjix/libbitcoin/database" chain = bitcoin.bdb_blockchain(service, prefix, blockchain_started) txpool = bitcoin.transaction_pool(service, chain) membuf = MemoryPoolBuffer(txpool, chain, FakeMonitor()) membuf.recv_tx(tx_a, store_tx) membuf.recv_tx(tx_b, store_tx) txdat = bitcoin.data_chunk("0100000001d6cad920a04acd6c0609cd91fe4dafa1f3b933ac90e032c78fdc19d98785f2bb010000008b483045022043f8ce02784bd7231cb362a602920f2566c18e1877320bf17d4eabdac1019b2f022100f1fd06c57330683dff50e1b4571fb0cdab9592f36e3d7e98d8ce3f94ce3f255b01410453aa8d5ddef56731177915b7b902336109326f883be759ec9da9c8f1212c6fa3387629d06e5bf5e6bcc62ec5a70d650c3b1266bb0bcc65ca900cff5311cb958bffffffff0280969800000000001976a9146025cabdbf823949f85595f3d1c54c54cd67058b88ac602d2d1d000000001976a914c55c43631ab14f7c4fd9c5f153f6b9123ec32c8888ac00000000") req = {"id": 110, "params": ["1GULoCDnGjhfSWzHs6zDzBxbKt9DR7uRbt"]} ex = bitcoin.satoshi_exporter() tx = ex.load_transaction(txdat) time.sleep(4) membuf.recv_tx(tx, store_tx) raw_input() address = "1Jqu2PVGDvNv4La113hgCJsvRUCDb3W65D", "1GULoCDnGjhfSWzHs6zDzBxbKt9DR7uRbt" #address = "1Pbn3DLXfjqF1fFV9YPdvpvyzejZwkHhZE" print "Looking up", address
print "Blockchain initialisation:", ec def finish(ec, result): print "Finish:", ec for line in result: for k, v in line.iteritems(): begin = k + ":" print begin, " " * (12 - len(begin)), v print a = bitcoin.async_service(1) chain = bitcoin.bdb_blockchain(a, "/home/genjix/libbitcoin/database", blockchain_started) txpool = bitcoin.transaction_pool(a, chain) txdat = bitcoin.data_chunk("0100000001d6cad920a04acd6c0609cd91fe4dafa1f3b933ac90e032c78fdc19d98785f2bb010000008b483045022043f8ce02784bd7231cb362a602920f2566c18e1877320bf17d4eabdac1019b2f022100f1fd06c57330683dff50e1b4571fb0cdab9592f36e3d7e98d8ce3f94ce3f255b01410453aa8d5ddef56731177915b7b902336109326f883be759ec9da9c8f1212c6fa3387629d06e5bf5e6bcc62ec5a70d650c3b1266bb0bcc65ca900cff5311cb958bffffffff0280969800000000001976a9146025cabdbf823949f85595f3d1c54c54cd67058b88ac602d2d1d000000001976a914c55c43631ab14f7c4fd9c5f153f6b9123ec32c8888ac00000000") ex = bitcoin.satoshi_exporter() tx = ex.load_transaction(txdat) def stored(ec): print "mbuff", ec mbuff = membuf.memory_buffer(a.internal_ptr, chain.internal_ptr, txpool.internal_ptr) mbuff.receive(tx, stored) address = "1AA6mgxqSrvJTxRrYrikSnLaAGupVzvx4f" raw_input() history.payment_history(a, chain, txpool, mbuff, address, finish) raw_input()
for k, v in line.iteritems(): begin = k + ":" print begin, " " * (12 - len(begin)), v print class FakeMonitor: def tx_stored(self, tx): pass def tx_confirmed(self, tx): pass service = bitcoin.async_service(1) prefix = "/home/genjix/libbitcoin/database" chain = bitcoin.bdb_blockchain(service, prefix, blockchain_started) txpool = bitcoin.transaction_pool(service, chain) membuf = MemoryPoolBuffer(txpool, chain, FakeMonitor()) membuf.recv_tx(tx_a, store_tx) membuf.recv_tx(tx_b, store_tx) txdat = bitcoin.data_chunk( "0100000001d6cad920a04acd6c0609cd91fe4dafa1f3b933ac90e032c78fdc19d98785f2bb010000008b483045022043f8ce02784bd7231cb362a602920f2566c18e1877320bf17d4eabdac1019b2f022100f1fd06c57330683dff50e1b4571fb0cdab9592f36e3d7e98d8ce3f94ce3f255b01410453aa8d5ddef56731177915b7b902336109326f883be759ec9da9c8f1212c6fa3387629d06e5bf5e6bcc62ec5a70d650c3b1266bb0bcc65ca900cff5311cb958bffffffff0280969800000000001976a9146025cabdbf823949f85595f3d1c54c54cd67058b88ac602d2d1d000000001976a914c55c43631ab14f7c4fd9c5f153f6b9123ec32c8888ac00000000" ) req = {"id": 110, "params": ["1GULoCDnGjhfSWzHs6zDzBxbKt9DR7uRbt"]} ex = bitcoin.satoshi_exporter() tx = ex.load_transaction(txdat) time.sleep(4) membuf.recv_tx(tx, store_tx) raw_input() address = "1Jqu2PVGDvNv4La113hgCJsvRUCDb3W65D", "1GULoCDnGjhfSWzHs6zDzBxbKt9DR7uRbt"