|
|
@ -4,16 +4,18 @@
|
|
|
|
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
|
|
|
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
|
|
|
"""Test mining RPCs
|
|
|
|
"""Test mining RPCs
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- getmininginfo
|
|
|
|
- getblocktemplate proposal mode
|
|
|
|
- getblocktemplate proposal mode
|
|
|
|
- submitblock"""
|
|
|
|
- submitblock"""
|
|
|
|
|
|
|
|
|
|
|
|
from binascii import b2a_hex
|
|
|
|
|
|
|
|
import copy
|
|
|
|
import copy
|
|
|
|
|
|
|
|
from binascii import b2a_hex
|
|
|
|
|
|
|
|
from decimal import Decimal
|
|
|
|
|
|
|
|
|
|
|
|
from test_framework.blocktools import create_coinbase
|
|
|
|
from test_framework.blocktools import create_coinbase
|
|
|
|
from test_framework.test_framework import BitcoinTestFramework
|
|
|
|
|
|
|
|
from test_framework.mininode import CBlock
|
|
|
|
from test_framework.mininode import CBlock
|
|
|
|
from test_framework.util import *
|
|
|
|
from test_framework.test_framework import BitcoinTestFramework
|
|
|
|
|
|
|
|
from test_framework.util import assert_equal, assert_raises_jsonrpc
|
|
|
|
|
|
|
|
|
|
|
|
def b2x(b):
|
|
|
|
def b2x(b):
|
|
|
|
return b2a_hex(b).decode('ascii')
|
|
|
|
return b2a_hex(b).decode('ascii')
|
|
|
@ -33,6 +35,18 @@ class MiningTest(BitcoinTestFramework):
|
|
|
|
|
|
|
|
|
|
|
|
def run_test(self):
|
|
|
|
def run_test(self):
|
|
|
|
node = self.nodes[0]
|
|
|
|
node = self.nodes[0]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
self.log.info('getmininginfo')
|
|
|
|
|
|
|
|
mining_info = node.getmininginfo()
|
|
|
|
|
|
|
|
assert_equal(mining_info['blocks'], 200)
|
|
|
|
|
|
|
|
assert_equal(mining_info['chain'], 'regtest')
|
|
|
|
|
|
|
|
assert_equal(mining_info['currentblocksize'], 0)
|
|
|
|
|
|
|
|
assert_equal(mining_info['currentblocktx'], 0)
|
|
|
|
|
|
|
|
assert_equal(mining_info['currentblockweight'], 0)
|
|
|
|
|
|
|
|
assert_equal(mining_info['difficulty'], Decimal('4.656542373906925E-10'))
|
|
|
|
|
|
|
|
assert_equal(mining_info['networkhashps'], Decimal('0.003333333333333334'))
|
|
|
|
|
|
|
|
assert_equal(mining_info['pooledtx'], 0)
|
|
|
|
|
|
|
|
|
|
|
|
# Mine a block to leave initial block download
|
|
|
|
# Mine a block to leave initial block download
|
|
|
|
node.generate(1)
|
|
|
|
node.generate(1)
|
|
|
|
tmpl = node.getblocktemplate()
|
|
|
|
tmpl = node.getblocktemplate()
|
|
|
|