async def setup_n_nodes(consensus_constants: ConsensusConstants, n: int): """ Setup and teardown of n full nodes, with blockchains and separate DBs. """ port_start = 21244 node_iters = [] keyrings_to_cleanup = [] for i in range(n): keyring = TempKeyring() keyrings_to_cleanup.append(keyring) node_iters.append( setup_full_node( consensus_constants, f"blockchain_test_{i}.db", port_start + i, await create_block_tools_async(constants=test_constants, keychain=keyring.get_keychain()), simulator=False, ) ) nodes = [] for ni in node_iters: nodes.append(await ni.__anext__()) yield nodes await _teardown_nodes(node_iters) for keyring in keyrings_to_cleanup: keyring.cleanup()
def cleanup_keyring(keyring: TempKeyring): keyring.cleanup()