mirror of
https://github.com/darkrenaissance/darkfi.git
synced 2026-04-28 03:00:18 -04:00
lilith: Support versioning of spawned networks.
This commit is contained in:
@@ -22,6 +22,7 @@ smol = "1.3.0"
|
||||
|
||||
# Misc
|
||||
log = "0.4.19"
|
||||
semver = "1.0.17"
|
||||
serde_json = "1.0.96"
|
||||
simplelog = "0.12.1"
|
||||
url = "2.4.0"
|
||||
|
||||
@@ -22,26 +22,30 @@ accept_addrs = [
|
||||
#hosts_file="~/.config/darkfi/lilith_hosts.tsv"
|
||||
|
||||
## Per-network settings
|
||||
#[network."darkfid_sync"]
|
||||
#[network."darkfid_sync_v4"]
|
||||
#port = 33032
|
||||
#seeds = []
|
||||
#peers = []
|
||||
#version = "0.4.1"
|
||||
#localnet = false
|
||||
|
||||
#[network."darkfid_consensus"]
|
||||
#[network."darkfid_consensus_v4"]
|
||||
#port = 33033
|
||||
#seeds = []
|
||||
#peers = []
|
||||
#version = "0.4.1"
|
||||
#localnet = false
|
||||
|
||||
#[network."ircd"]
|
||||
#[network."darkirc_v4"]
|
||||
#port = 25551
|
||||
#seeds = []
|
||||
#peers = []
|
||||
#version = "0.4.1"
|
||||
#localnet = false
|
||||
|
||||
#[network."taud"]
|
||||
#[network."taud_v4"]
|
||||
#port = 23331
|
||||
#seeds = []
|
||||
#peers = []
|
||||
#version = "0.4.1"
|
||||
#localnet = false
|
||||
|
||||
@@ -26,6 +26,7 @@ use async_std::{stream::StreamExt, sync::Arc};
|
||||
use async_trait::async_trait;
|
||||
use futures::future::join_all;
|
||||
use log::{debug, error, info, warn};
|
||||
use semver::Version;
|
||||
use serde_json::json;
|
||||
use signal_hook::consts::{SIGHUP, SIGINT, SIGQUIT, SIGTERM};
|
||||
use signal_hook_async_std::Signals;
|
||||
@@ -117,6 +118,8 @@ struct NetInfo {
|
||||
pub seeds: Vec<Url>,
|
||||
/// Manual peers to connect to
|
||||
pub peers: Vec<Url>,
|
||||
/// Supported network version
|
||||
pub version: Version,
|
||||
/// Enable localnet hosts
|
||||
pub localnet: bool,
|
||||
}
|
||||
@@ -355,7 +358,13 @@ fn parse_configured_networks(data: &str) -> Result<HashMap<String, NetInfo>> {
|
||||
false
|
||||
};
|
||||
|
||||
let net_info = NetInfo { port, seeds, peers, localnet };
|
||||
let version = if table.contains_key("version") {
|
||||
semver::Version::parse(table["version"].as_str().unwrap())?
|
||||
} else {
|
||||
semver::Version::parse(option_env!("CARGO_PKG_VERSION").unwrap_or("0.0.0"))?
|
||||
};
|
||||
|
||||
let net_info = NetInfo { port, seeds, peers, version, localnet };
|
||||
ret.insert(name, net_info);
|
||||
}
|
||||
}
|
||||
@@ -386,6 +395,7 @@ async fn spawn_net(
|
||||
seeds: info.seeds.clone(),
|
||||
peers: info.peers.clone(),
|
||||
outbound_connections: 0,
|
||||
app_version: info.version.clone(),
|
||||
localnet: info.localnet,
|
||||
allowed_transports: vec![
|
||||
"tcp".to_string(),
|
||||
|
||||
Reference in New Issue
Block a user