Changeset View
Changeset View
Standalone View
Standalone View
qa/rpc-tests/assumevalid.py
Show First 20 Lines • Show All 72 Lines • ▼ Show 20 Lines | def __init__(self): | ||||
self.setup_clean_chain = True | self.setup_clean_chain = True | ||||
self.num_nodes = 3 | self.num_nodes = 3 | ||||
def setup_network(self): | def setup_network(self): | ||||
# Start node0. We don't start the other nodes yet since | # Start node0. We don't start the other nodes yet since | ||||
# we need to pre-mine a block with an invalid transaction | # we need to pre-mine a block with an invalid transaction | ||||
# signature so we can pass in the block hash as assumevalid. | # signature so we can pass in the block hash as assumevalid. | ||||
self.nodes = [] | self.nodes = [] | ||||
self.nodes.append(start_node(0, self.options.tmpdir, ["-debug"])) | self.nodes.append(start_node(0, self.options.tmpdir)) | ||||
def run_test(self): | def run_test(self): | ||||
# Connect to node0 | # Connect to node0 | ||||
node0 = BaseNode() | node0 = BaseNode() | ||||
connections = [] | connections = [] | ||||
connections.append( | connections.append( | ||||
NodeConn('127.0.0.1', p2p_port(0), self.nodes[0], node0)) | NodeConn('127.0.0.1', p2p_port(0), self.nodes[0], node0)) | ||||
▲ Show 20 Lines • Show All 65 Lines • ▼ Show 20 Lines | def run_test(self): | ||||
self.blocks.append(block) | self.blocks.append(block) | ||||
self.tip = block.sha256 | self.tip = block.sha256 | ||||
self.block_time += 1 | self.block_time += 1 | ||||
height += 1 | height += 1 | ||||
# Start node1 and node2 with assumevalid so they accept a block with a | # Start node1 and node2 with assumevalid so they accept a block with a | ||||
# bad signature. | # bad signature. | ||||
self.nodes.append(start_node(1, self.options.tmpdir, | self.nodes.append(start_node(1, self.options.tmpdir, | ||||
["-debug", "-assumevalid=" + hex(block102.sha256)])) | ["-assumevalid=" + hex(block102.sha256)])) | ||||
node1 = BaseNode() # connects to node1 | node1 = BaseNode() # connects to node1 | ||||
connections.append( | connections.append( | ||||
NodeConn('127.0.0.1', p2p_port(1), self.nodes[1], node1)) | NodeConn('127.0.0.1', p2p_port(1), self.nodes[1], node1)) | ||||
node1.add_connection(connections[1]) | node1.add_connection(connections[1]) | ||||
node1.wait_for_verack() | node1.wait_for_verack() | ||||
self.nodes.append(start_node(2, self.options.tmpdir, | self.nodes.append(start_node(2, self.options.tmpdir, | ||||
["-debug", "-assumevalid=" + hex(block102.sha256)])) | ["-assumevalid=" + hex(block102.sha256)])) | ||||
node2 = BaseNode() # connects to node2 | node2 = BaseNode() # connects to node2 | ||||
connections.append( | connections.append( | ||||
NodeConn('127.0.0.1', p2p_port(2), self.nodes[2], node2)) | NodeConn('127.0.0.1', p2p_port(2), self.nodes[2], node2)) | ||||
node2.add_connection(connections[2]) | node2.add_connection(connections[2]) | ||||
node2.wait_for_verack() | node2.wait_for_verack() | ||||
# send header lists to all three nodes | # send header lists to all three nodes | ||||
node0.send_header_for_blocks(self.blocks[0:2000]) | node0.send_header_for_blocks(self.blocks[0:2000]) | ||||
Show All 30 Lines |