2
# Copyright (c) 2014-2015 The Bitcoin Core developers
2
# Copyright (c) 2014-2016 The Bitcoin Core developers
3
3
# Distributed under the MIT software license, see the accompanying
4
4
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
7
7
# Test RPC calls related to blockchain state. Tests correspond to code in
11
11
from decimal import Decimal
28
27
Test blockchain-related RPC calls:
34
def setup_chain(self):
35
print("Initializing test directory " + self.options.tmpdir)
36
initialize_chain(self.options.tmpdir)
36
self.setup_clean_chain = False
38
39
def setup_network(self, split=False):
39
self.nodes = start_nodes(2, self.options.tmpdir)
40
self.nodes = start_nodes(self.num_nodes, self.options.tmpdir)
40
41
connect_nodes_bi(self.nodes, 0, 1)
41
42
self.is_network_split = False
44
45
def run_test(self):
45
46
self._test_gettxoutsetinfo()
46
47
self._test_getblockheader()
48
self.nodes[0].verifychain(4, 0)
48
50
def _test_gettxoutsetinfo(self):
49
51
node = self.nodes[0]
50
52
res = node.gettxoutsetinfo()
52
assert_equal(res[u'total_amount'], Decimal('8725.00000000'))
53
assert_equal(res[u'transactions'], 200)
54
assert_equal(res[u'height'], 200)
55
assert_equal(res[u'txouts'], 200)
56
assert_equal(res[u'bytes_serialized'], 13924),
57
assert_equal(len(res[u'bestblock']), 64)
58
assert_equal(len(res[u'hash_serialized']), 64)
54
assert_equal(res['total_amount'], Decimal('8725.00000000'))
55
assert_equal(res['transactions'], 200)
56
assert_equal(res['height'], 200)
57
assert_equal(res['txouts'], 200)
58
assert_equal(res['bytes_serialized'], 13924),
59
assert_equal(len(res['bestblock']), 64)
60
assert_equal(len(res['hash_serialized']), 64)
60
62
def _test_getblockheader(self):
61
63
node = self.nodes[0]
80
82
assert isinstance(header['mediantime'], int)
81
83
assert isinstance(header['nonce'], int)
82
84
assert isinstance(header['version'], int)
85
assert isinstance(int(header['versionHex'], 16), int)
83
86
assert isinstance(header['difficulty'], Decimal)
85
88
if __name__ == '__main__':