bin,example/dchat,script: DEP-006: retrieve app_name and app_version from CARGO_PKG_NAME and CARGO_PKG_VERSION for use in net Version message

This commit is contained in:
oars
2025-08-13 18:17:00 +03:00
parent 8b7ee9274e
commit 179211b2c7
12 changed files with 36 additions and 19 deletions

View File

@@ -227,12 +227,15 @@ async fn realmain(args: Args, ex: Arc<smol::Executor<'static>>) -> Result<()> {
return Ok(()) return Ok(())
} }
let p2p_settings: darkfi::net::Settings =
(env!("CARGO_PKG_NAME"), env!("CARGO_PKG_VERSION"), blockchain_config.net).try_into()?;
// Generate the daemon // Generate the daemon
let daemon = Darkfid::init( let daemon = Darkfid::init(
network, network,
&sled_db, &sled_db,
&config, &config,
&blockchain_config.net.into(), &p2p_settings,
&blockchain_config.txs_batch_size, &blockchain_config.txs_batch_size,
&ex, &ex,
) )

View File

@@ -339,8 +339,8 @@ async fn realmain(args: Args, ex: Arc<Executor<'static>>) -> Result<()> {
return Err(e.into()); return Err(e.into());
} }
}; };
let mut p2p_settings: darkfi::net::Settings = args.net.into(); let p2p_settings: darkfi::net::Settings =
p2p_settings.app_version = semver::Version::parse(env!("CARGO_PKG_VERSION")).unwrap(); (env!("CARGO_PKG_NAME"), env!("CARGO_PKG_VERSION"), args.net).try_into()?;
let p2p = match P2p::new(p2p_settings, ex.clone()).await { let p2p = match P2p::new(p2p_settings, ex.clone()).await {
Ok(p2p) => p2p, Ok(p2p) => p2p,
Err(e) => { Err(e) => {

View File

@@ -60,8 +60,9 @@ async fn realmain(args: Args, ex: Arc<Executor<'static>>) -> Result<()> {
// We will use the peers defined in the settings as direct connections (instead of manual) // We will use the peers defined in the settings as direct connections (instead of manual)
// let direct_peers = net_settings.peers.clone(); // let direct_peers = net_settings.peers.clone();
// net_settings.peers = vec![]; // net_settings.peers = vec![];
let net_settings: NetSettings = args.net.into(); let net_settings: NetSettings =
let p2p = P2p::new(net_settings.clone(), ex.clone()).await?; (env!("CARGO_PKG_NAME"), env!("CARGO_PKG_VERSION"), args.net).try_into()?;
let p2p = P2p::new(net_settings, ex.clone()).await?;
info!(target: "fud", "Starting dnet subs task"); info!(target: "fud", "Starting dnet subs task");
let dnet_sub = JsonSubscriber::new("dnet.subscribe_events"); let dnet_sub = JsonSubscriber::new("dnet.subscribe_events");

View File

@@ -119,7 +119,9 @@ async fn realmain(settings: Args, executor: Arc<smol::Executor<'static>>) -> Res
let replay_mode = settings.replay_mode; let replay_mode = settings.replay_mode;
let sled_db = sled::open(datastore_path.clone())?; let sled_db = sled::open(datastore_path.clone())?;
let p2p = P2p::new(settings.net.into(), executor.clone()).await?; let p2p_settings: darkfi::net::Settings =
(env!("CARGO_PKG_NAME"), env!("CARGO_PKG_VERSION"), settings.net).try_into()?;
let p2p = P2p::new(p2p_settings, executor.clone()).await?;
let event_graph = EventGraph::new( let event_graph = EventGraph::new(
p2p.clone(), p2p.clone(),
sled_db.clone(), sled_db.clone(),

View File

@@ -519,7 +519,11 @@ async fn realmain(settings: Args, executor: Arc<smol::Executor<'static>>) -> Res
info!(target: "taud", "Instantiating event DAG"); info!(target: "taud", "Instantiating event DAG");
let sled_db = sled::open(datastore)?; let sled_db = sled::open(datastore)?;
let p2p = P2p::new(settings.net.clone().into(), executor.clone()).await?;
let p2p_settings: darkfi::net::Settings =
(env!("CARGO_PKG_NAME"), env!("CARGO_PKG_VERSION"), settings.net.clone()).try_into()?;
let p2p = P2p::new(p2p_settings, executor.clone()).await?;
let event_graph = EventGraph::new( let event_graph = EventGraph::new(
p2p.clone(), p2p.clone(),
sled_db.clone(), sled_db.clone(),

View File

@@ -99,7 +99,9 @@ impl Dchat {
// ANCHOR: main // ANCHOR: main
async_daemonize!(realmain); async_daemonize!(realmain);
async fn realmain(args: Args, ex: Arc<smol::Executor<'static>>) -> Result<()> { async fn realmain(args: Args, ex: Arc<smol::Executor<'static>>) -> Result<()> {
let p2p = net::P2p::new(args.net.into(), ex.clone()).await?; let p2p_settings: net::Settings =
(env!("CARGO_PKG_NAME"), env!("CARGO_PKG_VERSION"), args.net).try_into()?;
let p2p = net::P2p::new(p2p_settings, ex.clone()).await?;
// ANCHOR: dnet // ANCHOR: dnet
info!("Starting dnet subs task"); info!("Starting dnet subs task");

View File

@@ -16,6 +16,8 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>. * along with this program. If not, see <https://www.gnu.org/licenses/>.
*/ */
use std::{collections::HashSet, convert::TryInto, path::PathBuf, sync::Arc};
use darkfi::{ use darkfi::{
async_daemonize, cli_desc, async_daemonize, cli_desc,
event_graph::{ event_graph::{
@@ -38,12 +40,11 @@ use darkfi::{
Error, Result, Error, Result,
}; };
use darkfi_serial::{AsyncDecodable, AsyncEncodable}; use darkfi_serial::{AsyncDecodable, AsyncEncodable};
use futures::{FutureExt, AsyncWriteExt}; use futures::{AsyncWriteExt, FutureExt};
use tracing::{debug, error, info};
use sled_overlay::sled; use sled_overlay::sled;
use smol::{fs, lock::Mutex, stream::StreamExt, Executor}; use smol::{fs, lock::Mutex, stream::StreamExt, Executor};
use std::{collections::HashSet, path::PathBuf, sync::Arc};
use structopt_toml::{serde::Deserialize, structopt::StructOpt, StructOptToml}; use structopt_toml::{serde::Deserialize, structopt::StructOpt, StructOptToml};
use tracing::{debug, error, info};
use url::Url; use url::Url;
use evgrd::{FetchEventsMessage, VersionMessage, MSG_EVENT, MSG_FETCHEVENTS, MSG_SENDEVENT}; use evgrd::{FetchEventsMessage, VersionMessage, MSG_EVENT, MSG_FETCHEVENTS, MSG_SENDEVENT};
@@ -274,8 +275,8 @@ async fn realmain(args: Args, ex: Arc<Executor<'static>>) -> Result<()> {
info!(target: "evgrd", "Instantiating event DAG"); info!(target: "evgrd", "Instantiating event DAG");
let sled_db = sled::open(datastore)?; let sled_db = sled::open(datastore)?;
let mut p2p_settings: darkfi::net::Settings = args.net.into(); let mut p2p_settings: darkfi::net::Settings =
p2p_settings.app_version = semver::Version::parse(env!("CARGO_PKG_VERSION")).unwrap(); (env!("CARGO_PKG_NAME"), env!("CARGO_PKG_VERSION"), args.net).try_into()?;
p2p_settings.seeds.push(url::Url::parse("tcp+tls://lilith1.dark.fi:5262").unwrap()); p2p_settings.seeds.push(url::Url::parse("tcp+tls://lilith1.dark.fi:5262").unwrap());
let p2p = P2p::new(p2p_settings, ex.clone()).await?; let p2p = P2p::new(p2p_settings, ex.clone()).await?;
let event_graph = EventGraph::new( let event_graph = EventGraph::new(

View File

@@ -29,8 +29,8 @@ use darkfi::{
}, },
system::StoppableTaskPtr, system::StoppableTaskPtr,
}; };
use tracing::debug;
use smol::lock::MutexGuard; use smol::lock::MutexGuard;
use tracing::debug;
use super::Daemon; use super::Daemon;

View File

@@ -26,9 +26,9 @@ use darkfi_serial::{
async_trait, deserialize_async_partial, AsyncDecodable, AsyncEncodable, SerialDecodable, async_trait, deserialize_async_partial, AsyncDecodable, AsyncEncodable, SerialDecodable,
SerialEncodable, SerialEncodable,
}; };
use tracing::{error, info};
use sled_overlay::sled; use sled_overlay::sled;
use smol::fs; use smol::fs;
use tracing::{error, info};
use url::Url; use url::Url;
use evgrd::{FetchEventsMessage, LocalEventGraph, VersionMessage, MSG_EVENT, MSG_FETCHEVENTS}; use evgrd::{FetchEventsMessage, LocalEventGraph, VersionMessage, MSG_EVENT, MSG_FETCHEVENTS};

View File

@@ -27,7 +27,6 @@ use darkfi::{
use darkfi_serial::{ use darkfi_serial::{
async_trait, deserialize_async, serialize_async, SerialDecodable, SerialEncodable, async_trait, deserialize_async, serialize_async, SerialDecodable, SerialEncodable,
}; };
use tracing::{debug, error, info};
use sled_overlay::{sled, SledTreeOverlay}; use sled_overlay::{sled, SledTreeOverlay};
use smol::{ use smol::{
lock::{OnceCell, RwLock}, lock::{OnceCell, RwLock},
@@ -37,6 +36,7 @@ use std::{
collections::{BTreeMap, HashSet}, collections::{BTreeMap, HashSet},
sync::Arc, sync::Arc,
}; };
use tracing::{debug, error, info};
pub const PROTOCOL_VERSION: u32 = 1; pub const PROTOCOL_VERSION: u32 = 1;

View File

@@ -61,7 +61,9 @@ struct Args {
async_daemonize!(realmain); async_daemonize!(realmain);
async fn realmain(args: Args, ex: Arc<Executor<'static>>) -> Result<()> { async fn realmain(args: Args, ex: Arc<Executor<'static>>) -> Result<()> {
info!(target: "damd", "Starting Denial-of-service Analysis Multitool daemon..."); info!(target: "damd", "Starting Denial-of-service Analysis Multitool daemon...");
let daemon = Damd::init(&args.net.into(), &ex).await?; let net_settings: darkfi::net::Settings =
(env!("CARGO_PKG_NAME"), env!("CARGO_PKG_VERSION"), args.net).try_into()?;
let daemon = Damd::init(&net_settings, &ex).await?;
daemon.start(&ex, &args.rpc.into()).await?; daemon.start(&ex, &args.rpc.into()).await?;
// Signal handling for graceful termination. // Signal handling for graceful termination.

View File

@@ -18,10 +18,10 @@
use std::{collections::HashSet, sync::Arc}; use std::{collections::HashSet, sync::Arc};
use tracing::{error, info};
use rand::{rngs::OsRng, Rng}; use rand::{rngs::OsRng, Rng};
use smol::{stream::StreamExt, Executor}; use smol::{stream::StreamExt, Executor};
use structopt_toml::{serde::Deserialize, structopt::StructOpt, StructOptToml}; use structopt_toml::{serde::Deserialize, structopt::StructOpt, StructOptToml};
use tracing::{error, info};
use darkfi::{ use darkfi::{
async_daemonize, cli_desc, impl_p2p_message, async_daemonize, cli_desc, impl_p2p_message,
@@ -344,7 +344,9 @@ async_daemonize!(realmain);
async fn realmain(args: Args, ex: Arc<smol::Executor<'static>>) -> Result<()> { async fn realmain(args: Args, ex: Arc<smol::Executor<'static>>) -> Result<()> {
info!(target: "generic-node", "Initializing generic node..."); info!(target: "generic-node", "Initializing generic node...");
let genericd = Genericd::new(args.node_id, &args.net.into(), &ex).await?; let net_settings: Settings =
(env!("CARGO_PKG_NAME"), env!("CARGO_PKG_VERSION"), args.net).try_into()?;
let genericd = Genericd::new(args.node_id, &net_settings, &ex).await?;
genericd.start().await?; genericd.start().await?;
// Signal handling for graceful termination. // Signal handling for graceful termination.