mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-11-11 14:38:29 +01:00
qa/rpc_tests: Wait for handshake to complete in connect_nodes
This avoids a race condition in which the connection was made but the version handshake is not completed yet. In that case transactions won't be broadcasted to a peer yet, and the nodes will wait forever for their mempools to sync.
This commit is contained in:
@@ -182,6 +182,10 @@ def wait_bitcoinds():
|
|||||||
def connect_nodes(from_connection, node_num):
|
def connect_nodes(from_connection, node_num):
|
||||||
ip_port = "127.0.0.1:"+str(p2p_port(node_num))
|
ip_port = "127.0.0.1:"+str(p2p_port(node_num))
|
||||||
from_connection.addnode(ip_port, "onetry")
|
from_connection.addnode(ip_port, "onetry")
|
||||||
|
# poll until version handshake complete to avoid race conditions
|
||||||
|
# with transaction relaying
|
||||||
|
while any(peer['version'] == 0 for peer in from_connection.getpeerinfo()):
|
||||||
|
time.sleep(0.1)
|
||||||
|
|
||||||
def find_output(node, txid, amount):
|
def find_output(node, txid, amount):
|
||||||
"""
|
"""
|
||||||
|
|||||||
Reference in New Issue
Block a user