1 from twisted.internet import defer, reactor
2 from twisted.trial import unittest
4 from p2pool.bitcoin import data, networks, p2p
5 from p2pool.util import deferral
8 class Test(unittest.TestCase):
10 def test_get_block(self):
11 factory = p2p.ClientFactory(networks.nets['bitcoin'])
12 c = reactor.connectTCP('127.0.0.1', 8333, factory)
14 h = 0x000000000000046acff93b0e76cd10490551bf871ce9ac9fad62e67a07ff1d1e
15 block = yield deferral.retry()(defer.inlineCallbacks(lambda: defer.returnValue((yield (yield factory.getProtocol()).get_block(h)))))()
16 assert data.merkle_hash(map(data.hash256, map(data.tx_type.pack, block['txs']))) == block['header']['merkle_root']
17 assert data.hash256(data.block_header_type.pack(block['header'])) == h