|
|
@ -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() |
|
|
|