mina_node_testing/
hosts.rs

1/// This should be the only place where environment variables are converted to addresses.
2///
3use std::{env, str::FromStr};
4
5use node::p2p::connection::outgoing::P2pConnectionOutgoingInitOpts;
6
7use crate::scenario::ListenerNode;
8
9pub fn replayer() -> P2pConnectionOutgoingInitOpts {
10    // "/dns4/1.k8.openmina.com/tcp/31968/p2p/12D3KooWPayQEdprqY2m3biReUUybA5LoULpJE7YWu6wetEKKELv",
11
12    let multiaddr = env::var("REPLAYER_MULTIADDR")
13        .expect("must set variable `REPLAYER_MULTIADDR`")
14        .parse::<libp2p::Multiaddr>()
15        .expect("`REPLAYER_MULTIADDR` must be a valid multiaddress");
16    (&multiaddr).try_into().expect("must be valid init opts")
17}
18
19pub fn devnet() -> Vec<ListenerNode> {
20    let seeds =
21        std::env::var("MINA_SCENARIO_SEEDS").unwrap_or_else(|_| node::p2p::DEVNET_SEEDS.join(" "));
22    seeds
23        .split_whitespace()
24        .map(P2pConnectionOutgoingInitOpts::from_str)
25        .filter_map(Result::ok)
26        .filter_map(|p| p.with_host_resolved())
27        .map(Into::into)
28        .collect()
29}