mirror of
https://github.com/comit-network/xmr-btc-swap.git
synced 2025-05-21 08:00:52 -04:00
Use random prefix
This commit is contained in:
parent
981fcacc95
commit
bca439ada5
1 changed files with 23 additions and 9 deletions
|
@ -53,29 +53,28 @@ pub struct Monero {
|
||||||
}
|
}
|
||||||
impl<'c> Monero {
|
impl<'c> Monero {
|
||||||
/// Starts a new regtest monero container setup consisting out of 1 monerod
|
/// Starts a new regtest monero container setup consisting out of 1 monerod
|
||||||
/// node and n wallets. The containers and network will be prefixed with
|
/// node and n wallets. The containers and network will be prefixed, either
|
||||||
/// `prefix` if provided. There will be 1 miner wallet started
|
/// randomly generated or as defined in `prefix` if provided. There will
|
||||||
/// automatically. Default monerod container name will be: `monerod`
|
/// be 1 miner wallet started automatically. Default monerod container
|
||||||
/// Default miner wallet container name will be: `miner`
|
/// name will be: `prefix`_`monerod` Default miner wallet container name
|
||||||
/// Default network will be: `monero`
|
/// will be: `prefix`_`miner` Default network will be: `prefix`_`monero`
|
||||||
/// Each default will be prefixed with `prefix`.
|
|
||||||
pub async fn new(
|
pub async fn new(
|
||||||
cli: &'c Cli,
|
cli: &'c Cli,
|
||||||
prefix: Option<String>,
|
prefix: Option<String>,
|
||||||
additional_wallets: Vec<String>,
|
additional_wallets: Vec<String>,
|
||||||
) -> Result<(Self, Vec<Container<'c, Cli, image::Monero>>)> {
|
) -> Result<(Self, Vec<Container<'c, Cli, image::Monero>>)> {
|
||||||
let prefix = prefix.unwrap_or_else(|| "".to_string());
|
let prefix = format!("{}_", prefix.unwrap_or_else(random_prefix));
|
||||||
|
|
||||||
let monerod_name = format!("{}{}", prefix, MONEROD_DAEMON_CONTAINER_NAME);
|
let monerod_name = format!("{}{}", prefix, MONEROD_DAEMON_CONTAINER_NAME);
|
||||||
let network = format!("{}{}", prefix, MONEROD_DEFAULT_NETWORK);
|
let network = format!("{}{}", prefix, MONEROD_DEFAULT_NETWORK);
|
||||||
|
|
||||||
tracing::info!("Starting monerod...");
|
tracing::info!("Starting monerod... {}", monerod_name);
|
||||||
let (monerod, monerod_container) = Monerod::new(cli, monerod_name, network)?;
|
let (monerod, monerod_container) = Monerod::new(cli, monerod_name, network)?;
|
||||||
let mut containers = vec![monerod_container];
|
let mut containers = vec![monerod_container];
|
||||||
let mut wallets = vec![];
|
let mut wallets = vec![];
|
||||||
|
|
||||||
tracing::info!("Starting miner wallet...");
|
|
||||||
let miner = format!("{}{}", prefix, "miner");
|
let miner = format!("{}{}", prefix, "miner");
|
||||||
|
tracing::info!("Starting miner wallet... {}", miner);
|
||||||
let (miner_wallet, miner_container) = MoneroWalletRpc::new(cli, &miner, &monerod).await?;
|
let (miner_wallet, miner_container) = MoneroWalletRpc::new(cli, &miner, &monerod).await?;
|
||||||
|
|
||||||
wallets.push(miner_wallet);
|
wallets.push(miner_wallet);
|
||||||
|
@ -147,6 +146,21 @@ impl<'c> Monero {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn random_prefix() -> String {
|
||||||
|
use rand::Rng;
|
||||||
|
const CHARSET: &[u8] = b"abcdefghijklmnopqrstuvwxyz";
|
||||||
|
const LEN: usize = 4;
|
||||||
|
let mut rng = rand::thread_rng();
|
||||||
|
|
||||||
|
let prefix: String = (0..LEN)
|
||||||
|
.map(|_| {
|
||||||
|
let idx = rng.gen_range(0, CHARSET.len());
|
||||||
|
CHARSET[idx] as char
|
||||||
|
})
|
||||||
|
.collect();
|
||||||
|
prefix
|
||||||
|
}
|
||||||
|
|
||||||
#[derive(Clone, Debug)]
|
#[derive(Clone, Debug)]
|
||||||
pub struct Monerod {
|
pub struct Monerod {
|
||||||
rpc_port: u16,
|
rpc_port: u16,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue