Clarify blockversion handling for multi-algo mining
This commit is contained in:
parent
cc320f4980
commit
9b76b2fa31
3 changed files with 15 additions and 2 deletions
|
|
@ -70,7 +70,8 @@ class MiningTest(DigiByteTestFramework):
|
|||
block_version = 255 | VERSIONBITS_TOP_BITS
|
||||
self.restart_node(0, extra_args=[f'-mocktime={t}', '-blockversion={}'.format(block_version)])
|
||||
self.connect_nodes(0, 1)
|
||||
assert_equal(block_version, self.nodes[0].getblocktemplate(NORMAL_GBT_REQUEST_PARAMS)['version'])
|
||||
expected_block_version = (block_version & ~(15 << 8)) | (2 << 8)
|
||||
assert_equal(expected_block_version, self.nodes[0].getblocktemplate(NORMAL_GBT_REQUEST_PARAMS)['version'])
|
||||
self.restart_node(0, extra_args=[f'-mocktime={t}'])
|
||||
self.connect_nodes(0, 1)
|
||||
assert_equal(671089154, self.nodes[0].getblocktemplate(NORMAL_GBT_REQUEST_PARAMS)['version'])
|
||||
|
|
|
|||
|
|
@ -69,6 +69,18 @@ class RandomXGetBlockTemplateTest(DigiByteTestFramework):
|
|||
"invalid",
|
||||
)
|
||||
|
||||
self.log.info("Mining algorithm bits override -blockversion algo bits")
|
||||
block_version = 0x200000ff
|
||||
self.restart_node(0, extra_args=[f"-blockversion={block_version}"])
|
||||
node = self.nodes[0]
|
||||
|
||||
sha_template = node.getblocktemplate(NORMAL_GBT_REQUEST_PARAMS)
|
||||
expected_sha_version = (
|
||||
(block_version & ~BLOCK_VERSION_ALGO) |
|
||||
BLOCK_VERSION_SHA256D
|
||||
)
|
||||
assert_equal(sha_template["version"], expected_sha_version)
|
||||
|
||||
self.log.info("Activate RandomX at block 1 on regtest only")
|
||||
self.restart_node(0, extra_args=["-testactivationheight=randomx@1"])
|
||||
node = self.nodes[0]
|
||||
|
|
|
|||
Loading…
Reference in a new issue