@ -6,6 +6,10 @@
@@ -6,6 +6,10 @@
Test the following RPCs :
- gettxoutsetinfo
- getdifficulty
- getbestblockhash
- getblockhash
- getblockheader
- verifychain
Tests correspond to code in rpc / blockchain . cpp .
@ -40,6 +44,7 @@ class BlockchainTest(BitcoinTestFramework):
@@ -40,6 +44,7 @@ class BlockchainTest(BitcoinTestFramework):
def run_test ( self ) :
self . _test_gettxoutsetinfo ( )
self . _test_getblockheader ( )
self . _test_getdifficulty ( )
self . nodes [ 0 ] . verifychain ( 4 , 0 )
def _test_gettxoutsetinfo ( self ) :
@ -57,7 +62,8 @@ class BlockchainTest(BitcoinTestFramework):
@@ -57,7 +62,8 @@ class BlockchainTest(BitcoinTestFramework):
def _test_getblockheader ( self ) :
node = self . nodes [ 0 ]
assert_raises_jsonrpc ( - 5 , " Block not found " , node . getblockheader , " nonsense " )
assert_raises_jsonrpc ( - 5 , " Block not found " ,
node . getblockheader , " nonsense " )
besthash = node . getbestblockhash ( )
secondbesthash = node . getblockhash ( 199 )
@ -79,5 +85,11 @@ class BlockchainTest(BitcoinTestFramework):
@@ -79,5 +85,11 @@ class BlockchainTest(BitcoinTestFramework):
assert isinstance ( int ( header [ ' versionHex ' ] , 16 ) , int )
assert isinstance ( header [ ' difficulty ' ] , Decimal )
def _test_getdifficulty ( self ) :
difficulty = self . nodes [ 0 ] . getdifficulty ( )
# 1 hash in 2 should be valid, so difficulty should be 1/2**31
# binary => decimal => binary math is why we do this check
assert abs ( difficulty * 2 * * 31 - 1 ) < 0.0001
if __name__ == ' __main__ ' :
BlockchainTest ( ) . main ( )