syncing and bootstrap node fixes

This commit is contained in:
viraladmin 2026-05-26 12:14:52 -06:00
parent 61a64cf538
commit 48aefd88d9
2526 changed files with 82178 additions and 16 deletions

View File

@ -128,6 +128,7 @@ RPC_PORT = "50050"
TESTNET_RPC_PORT = "50055"
INCOMING_CONNECTIONS = "10"
OUTGOING_CONNECTIONS = "1"
VALIDATOR = "false"
THREADS = "8"
[Piggyback]

View File

@ -18,6 +18,7 @@ RPC_PORT = "50055"
TESTNET_RPC_PORT = "50050"
INCOMING_CONNECTIONS = "100"
OUTGOING_CONNECTIONS = "10"
VALIDATOR = "false"
; THREADS must 1, 2, or a multple of 4
THREADS = "8"

View File

@ -22,6 +22,7 @@ pub struct Settings {
pub listen_ip: String,
pub rpc_port: String,
pub testnet_rpc_port: String,
pub validator: bool,
pub outgoing_connections: u8,
pub incoming_connections: u8,
pub threads: u16,
@ -183,6 +184,10 @@ impl Settings {
.get_from(Some("Settings"), "TESTNET_RPC_PORT")
.ok_or("TESTNET_RPC_PORT not found")?
.to_string(),
validator: conf
.get_from(Some("Settings"), "VALIDATOR")
.unwrap_or("false")
.parse::<bool>()?,
outgoing_connections: conf
.get_from(Some("Settings"), "OUTGOING_CONNECTIONS")
.ok_or("OUTGOING_CONNECTIONS not found")?

View File

@ -6,7 +6,7 @@ use crate::log::{error, info};
use crate::miner::flag::{
is_mining_running, is_mining_stop_requested, is_normal_mode, set_mining_state, MiningState,
};
use crate::records::memory::connections::outgoing_connection_count;
use crate::records::memory::connections::peer_connection_count;
use crate::records::memory::response_channels::Command;
use crate::records::record_chain::save::save_block;
use crate::records::record_chain::structs::{SaveBlockParams, SaveType};
@ -18,6 +18,7 @@ use crate::Arc;
use crate::Duration;
use crate::Error;
use crate::Mutex;
use crate::Settings;
use crate::Utc;
pub async fn create_genesis_transaction(
@ -71,16 +72,22 @@ async fn create_genesis_block(
let mut nonce: u8 = 0;
let mut genesis_search_logged = false;
let mut disconnected_logged = false;
let validator_mode = Settings::load()
.map(|settings| settings.validator)
.unwrap_or(false);
if validator_mode {
info!("[genesis] validator mode enabled; skipping genesis mining");
set_mining_state(MiningState::Idle);
return Ok(());
}
loop {
// The genesis miner obeys the same mode and stop flags as
// normal mining so startup, sync, reorg, and disconnected
// node states can pause it.
while !is_normal_mode()
|| is_mining_stop_requested()
|| outgoing_connection_count().await == 0
while !is_normal_mode() || is_mining_stop_requested() || peer_connection_count().await == 0
{
if is_normal_mode() && !is_mining_stop_requested() && !disconnected_logged {
info!("[genesis] waiting for an outgoing peer connection before mining genesis");
info!("[genesis] waiting for a live peer connection before mining genesis");
disconnected_logged = true;
}
set_mining_state(MiningState::Idle);

View File

@ -8,7 +8,7 @@ use crate::miner::nonce::run_nonce_round;
use crate::miner::structs::MiningAttemptContext;
use crate::miner::winner::{handle_mining_winner, verify_and_save_block};
use crate::records::block_height::get_block_height::get_height;
use crate::records::memory::connections::outgoing_connection_count;
use crate::records::memory::connections::peer_connection_count;
use crate::records::memory::network_mapping::NodeInfo;
use crate::records::memory::response_channels::Command;
use crate::records::unpack_block::unpack_header::load_block_header;
@ -20,6 +20,7 @@ use crate::Arc;
use crate::Duration;
use crate::Error;
use crate::Mutex;
use crate::Settings;
use crate::Utc;
pub async fn mine_block(
@ -28,6 +29,17 @@ pub async fn mine_block(
wallet_key: String,
map: Arc<Mutex<Command>>,
) -> Result<(), Box<dyn Error>> {
if Settings::load()
.map(|settings| settings.validator)
.unwrap_or(false)
{
info!("[mining] validator mode enabled; mining disabled");
set_mining_state(MiningState::Idle);
loop {
sleep(Duration::from_secs(60)).await;
}
}
// Mining runs continuously, rebuilding its context from the
// latest saved tip before each one-second nonce round.
let wallet = match Wallet::try_obtain_wallet(wallet_key.clone(), None).await {
@ -122,10 +134,9 @@ async fn wait_until_mining_allowed(mut was_stopped: bool) -> bool {
// Mining pauses whenever the node is syncing, reorganizing, starting,
// disconnected, or a stop request has been raised by another task.
let mut disconnected_logged = false;
while !is_normal_mode() || is_mining_stop_requested() || outgoing_connection_count().await == 0
{
while !is_normal_mode() || is_mining_stop_requested() || peer_connection_count().await == 0 {
if is_normal_mode() && !is_mining_stop_requested() && !disconnected_logged {
info!("[mining] waiting for an outgoing peer connection before mining");
info!("[mining] waiting for a live peer connection before mining");
disconnected_logged = true;
}
set_mining_state(MiningState::Idle);

View File

@ -560,6 +560,23 @@ pub async fn outgoing_connection_count() -> usize {
.unwrap_or(0)
}
pub async fn peer_connection_count() -> usize {
// Mining only needs proof that this node is connected to the live
// network; incoming and outgoing miner peers both satisfy that.
CONNECTIONS
.read()
.await
.as_ref()
.map(|connection| {
connection
.connection_map
.values()
.filter(|info| ClientType::from_bytes(&info.client_type) == Some(ClientType::Miner))
.count()
})
.unwrap_or(0)
}
pub async fn get_client_type_from_memory(key: &str) -> Option<ClientType> {
// Recover the stored client role from the serialized connection key
// used throughout the RPC layer.

View File

@ -9,9 +9,12 @@ use crate::wallets::structures::Wallet;
use crate::IpAddr;
use crate::SocketAddr;
use crate::TcpStream;
use crate::{AsyncReadExt, AsyncWriteExt};
use crate::{timeout, AsyncReadExt, AsyncWriteExt, Duration};
use tokio::net::TcpSocket;
const OUTBOUND_CONNECT_TIMEOUT_SECONDS: u64 = 2;
const HANDSHAKE_RESPONSE_TIMEOUT_SECONDS: u64 = 2;
pub async fn connect_and_handshake(params: Connect) -> Result<(), Box<dyn std::error::Error>> {
// Outbound node sockets bind to the configured local IP before
// connecting so the socket source matches the advertised node IP.
@ -49,7 +52,12 @@ async fn connect_from_configured_ip(remote_addr: SocketAddr) -> io::Result<TcpSt
if local_ip.is_unspecified() {
// Wildcard bind addresses such as 0.0.0.0 are for listening only.
// Outbound NAT/source selection must be left to the OS.
return TcpStream::connect(remote_addr).await;
return timeout(
Duration::from_secs(OUTBOUND_CONNECT_TIMEOUT_SECONDS),
TcpStream::connect(remote_addr),
)
.await
.map_err(|_| connect_timeout_error(remote_addr))?;
}
if local_ip.is_ipv4() != remote_addr.is_ipv4() {
@ -66,7 +74,21 @@ async fn connect_from_configured_ip(remote_addr: SocketAddr) -> io::Result<TcpSt
};
socket.bind(SocketAddr::new(local_ip, 0))?;
socket.connect(remote_addr).await
timeout(
Duration::from_secs(OUTBOUND_CONNECT_TIMEOUT_SECONDS),
socket.connect(remote_addr),
)
.await
.map_err(|_| connect_timeout_error(remote_addr))?
}
fn connect_timeout_error(remote_addr: SocketAddr) -> io::Error {
io::Error::new(
io::ErrorKind::TimedOut,
format!(
"Timed out connecting to {remote_addr} after {OUTBOUND_CONNECT_TIMEOUT_SECONDS} seconds"
),
)
}
async fn perform_handshake(mut params: Handshake) -> io::Result<()> {
@ -87,8 +109,13 @@ async fn send_and_receive_handshake(params: &mut Handshake, data: &[u8]) -> io::
let mut total_read = 0usize;
while total_read < buffer.len() {
match params.stream.read(&mut buffer[total_read..]).await {
Ok(0) => {
match timeout(
Duration::from_secs(HANDSHAKE_RESPONSE_TIMEOUT_SECONDS),
params.stream.read(&mut buffer[total_read..]),
)
.await
{
Ok(Ok(0)) => {
if total_read == 0 {
return Err(io::Error::new(
io::ErrorKind::UnexpectedEof,
@ -97,10 +124,19 @@ async fn send_and_receive_handshake(params: &mut Handshake, data: &[u8]) -> io::
}
break;
}
Ok(n) => {
Ok(Ok(n)) => {
total_read += n;
}
Err(err) => return Err(err),
Ok(Err(err)) => return Err(err),
Err(_) => {
return Err(io::Error::new(
io::ErrorKind::TimedOut,
format!(
"Timed out waiting for handshake response from {} after {} seconds",
params.addr, HANDSHAKE_RESPONSE_TIMEOUT_SECONDS
),
));
}
}
}

1
target/.rustc_info.json Normal file
View File

@ -0,0 +1 @@
{"rustc_fingerprint":16382034351177431447,"outputs":{"17747080675513052775":{"success":true,"status":"","code":0,"stdout":"rustc 1.88.0 (6b00bc388 2025-06-23)\nbinary: rustc\ncommit-hash: 6b00bc3880198600130e1cf62b8f8a93494488cc\ncommit-date: 2025-06-23\nhost: x86_64-unknown-linux-gnu\nrelease: 1.88.0\nLLVM version: 20.1.5\n","stderr":""},"7971740275564407648":{"success":true,"status":"","code":0,"stdout":"___\nlib___.rlib\nlib___.so\nlib___.so\nlib___.a\nlib___.so\n/home/viraladmin/.rustup/toolchains/stable-x86_64-unknown-linux-gnu\noff\npacked\nunpacked\n___\ndebug_assertions\npanic=\"unwind\"\nproc_macro\ntarget_abi=\"\"\ntarget_arch=\"x86_64\"\ntarget_endian=\"little\"\ntarget_env=\"gnu\"\ntarget_family=\"unix\"\ntarget_feature=\"fxsr\"\ntarget_feature=\"sse\"\ntarget_feature=\"sse2\"\ntarget_has_atomic=\"16\"\ntarget_has_atomic=\"32\"\ntarget_has_atomic=\"64\"\ntarget_has_atomic=\"8\"\ntarget_has_atomic=\"ptr\"\ntarget_os=\"linux\"\ntarget_pointer_width=\"64\"\ntarget_vendor=\"unknown\"\nunix\n","stderr":""}},"successes":{}}

3
target/CACHEDIR.TAG Normal file
View File

@ -0,0 +1,3 @@
Signature: 8a477f597d28d172789f06886806bc55
# This file is a cache directory tag created by cargo.
# For information about cache directory tags see https://bford.info/cachedir/

View File

View File

@ -0,0 +1 @@
This file has an mtime of when this was started.

View File

@ -0,0 +1 @@
24b38405cafcb27b

View File

@ -0,0 +1 @@
{"rustc":11410426090777951712,"features":"[]","declared_features":"[\"compiler_builtins\", \"core\", \"default\", \"rustc-dep-of-std\", \"std\"]","target":6446972194429367215,"profile":8829588955844408089,"path":15718397531687489017,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"release/.fingerprint/adler-71018259d007ea30/dep-lib-adler","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0}

View File

@ -0,0 +1 @@
This file has an mtime of when this was started.

View File

@ -0,0 +1 @@
63c7cc09c501994f

View File

@ -0,0 +1 @@
{"rustc":11410426090777951712,"features":"[\"default\", \"std\"]","declared_features":"[\"compiler_builtins\", \"core\", \"default\", \"rustc-dep-of-std\", \"std\"]","target":340870475748378612,"profile":8829588955844408089,"path":6792006014680124848,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"release/.fingerprint/adler32-522c72f428e38db7/dep-lib-adler32","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0}

View File

@ -0,0 +1 @@
This file has an mtime of when this was started.

View File

@ -0,0 +1 @@
2651ea7a1d0d5953

View File

@ -0,0 +1 @@
{"rustc":11410426090777951712,"features":"[\"perf-literal\", \"std\"]","declared_features":"[\"default\", \"logging\", \"perf-literal\", \"std\"]","target":7534583537114156500,"profile":8829588955844408089,"path":5713113742629045917,"deps":[[1363051979936526615,"memchr",false,9087968684214088652]],"local":[{"CheckDepInfo":{"dep_info":"release/.fingerprint/aho-corasick-b62457fe346f7700/dep-lib-aho_corasick","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0}

View File

@ -0,0 +1 @@
9b2793a534bb43bc

View File

@ -0,0 +1 @@
{"rustc":11410426090777951712,"features":"[\"default\", \"std\"]","declared_features":"[\"backtrace\", \"default\", \"std\"]","target":17883862002600103897,"profile":17257705230225558938,"path":4297207961829898962,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"release/.fingerprint/anyhow-00ef85ca69a8517e/dep-build-script-build-script-build","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0}

View File

@ -0,0 +1 @@
This file has an mtime of when this was started.

View File

@ -0,0 +1 @@
This file has an mtime of when this was started.

View File

@ -0,0 +1 @@
3fffe54fada16646

View File

@ -0,0 +1 @@
{"rustc":11410426090777951712,"features":"[\"default\", \"std\"]","declared_features":"[\"backtrace\", \"default\", \"std\"]","target":16100955855663461252,"profile":8829588955844408089,"path":12120047182605475166,"deps":[[13625485746686963219,"build_script_build",false,5847603026955071312]],"local":[{"CheckDepInfo":{"dep_info":"release/.fingerprint/anyhow-3e9e80978d98bd74/dep-lib-anyhow","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0}

View File

@ -0,0 +1 @@
{"rustc":11410426090777951712,"features":"","declared_features":"","target":0,"profile":0,"path":0,"deps":[[13625485746686963219,"build_script_build",false,13565892337360643995]],"local":[{"RerunIfChanged":{"output":"release/build/anyhow-9ab7062e68cb0860/output","paths":["src/nightly.rs"]}},{"RerunIfEnvChanged":{"var":"RUSTC_BOOTSTRAP","val":null}}],"rustflags":[],"config":0,"compile_kind":0}

View File

@ -0,0 +1 @@
This file has an mtime of when this was started.

View File

@ -0,0 +1 @@
d36221c470ade55b

View File

@ -0,0 +1 @@
{"rustc":11410426090777951712,"features":"[\"alloc\", \"default\", \"std\"]","declared_features":"[\"alloc\", \"default\", \"serde\", \"serde_test\", \"std\"]","target":12466981117961934896,"profile":8829588955844408089,"path":15633182887047669064,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"release/.fingerprint/ascii-4d80dfcb77f4367d/dep-lib-ascii","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0}

View File

@ -0,0 +1 @@
This file has an mtime of when this was started.

View File

@ -0,0 +1 @@
48f7cd4f81aa0c62

View File

@ -0,0 +1 @@
{"rustc":11410426090777951712,"features":"[]","declared_features":"[]","target":5116616278641129243,"profile":17257705230225558938,"path":6624530729902879270,"deps":[[4289358735036141001,"proc_macro2",false,17113744776566768411],[10420560437213941093,"syn",false,13631603582387891324],[13111758008314797071,"quote",false,12882107055480961349]],"local":[{"CheckDepInfo":{"dep_info":"release/.fingerprint/async-trait-77d6d002fbf0a912/dep-lib-async_trait","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0}

View File

@ -0,0 +1 @@
This file has an mtime of when this was started.

View File

@ -0,0 +1 @@
93255c88c83e9875

View File

@ -0,0 +1 @@
{"rustc":11410426090777951712,"features":"[]","declared_features":"[]","target":6962977057026645649,"profile":17257705230225558938,"path":15159620137724000305,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"release/.fingerprint/autocfg-f4b8aff8ae0cf393/dep-lib-autocfg","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0}

View File

@ -0,0 +1 @@
This file has an mtime of when this was started.

View File

@ -0,0 +1 @@
83dc6a64926e1ed3

View File

@ -0,0 +1 @@
{"rustc":11410426090777951712,"features":"[]","declared_features":"[\"default\", \"std\"]","target":4664077033567223684,"profile":8829588955844408089,"path":513692179651278746,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"release/.fingerprint/base-x-f869795b57546f6c/dep-lib-base_x","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0}

View File

@ -0,0 +1 @@
This file has an mtime of when this was started.

View File

@ -0,0 +1 @@
7a0a5bd24cbbc0db

View File

@ -0,0 +1 @@
{"rustc":11410426090777951712,"features":"[]","declared_features":"[]","target":4627734809393167086,"profile":8829588955844408089,"path":7301200522236168213,"deps":[[1162658772697993410,"const_str",false,10216653958921370547],[8687914980556468309,"match_lookup",false,16030408837111135780]],"local":[{"CheckDepInfo":{"dep_info":"release/.fingerprint/base256emoji-36c8fce0b50d75bc/dep-lib-base256emoji","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0}

View File

@ -0,0 +1 @@
This file has an mtime of when this was started.

View File

@ -0,0 +1 @@
f3e564d6444916ad

View File

@ -0,0 +1 @@
{"rustc":11410426090777951712,"features":"[\"alloc\", \"default\", \"std\"]","declared_features":"[\"alloc\", \"default\", \"std\"]","target":13060062996227388079,"profile":8829588955844408089,"path":15814321877172576177,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"release/.fingerprint/base64-3b312bb37d692026/dep-lib-base64","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0}

View File

@ -0,0 +1 @@
This file has an mtime of when this was started.

View File

@ -0,0 +1 @@
20cbb7ede886c2d2

View File

@ -0,0 +1 @@
{"rustc":11410426090777951712,"features":"[\"alloc\", \"default\", \"std\"]","declared_features":"[\"alloc\", \"default\", \"std\"]","target":13060062996227388079,"profile":8829588955844408089,"path":14719497833188671428,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"release/.fingerprint/base64-ff6d4cdbdd952702/dep-lib-base64","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0}

View File

@ -0,0 +1 @@
This file has an mtime of when this was started.

View File

@ -0,0 +1 @@
a39e7897849b4368

View File

@ -0,0 +1 @@
{"rustc":11410426090777951712,"features":"[\"std\"]","declared_features":"[\"arbitrary\", \"bytemuck\", \"example_generated\", \"serde\", \"serde_core\", \"std\"]","target":7691312148208718491,"profile":8829588955844408089,"path":1855625364213940646,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"release/.fingerprint/bitflags-9f43535eec7ac76b/dep-lib-bitflags","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0}

View File

@ -0,0 +1 @@
This file has an mtime of when this was started.

View File

@ -0,0 +1 @@
93527032dd55ff82

View File

@ -0,0 +1 @@
{"rustc":11410426090777951712,"features":"[\"default\"]","declared_features":"[\"compiler_builtins\", \"core\", \"default\", \"example_generated\", \"rustc-dep-of-std\"]","target":12919857562465245259,"profile":8829588955844408089,"path":16764903893551221127,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"release/.fingerprint/bitflags-e399b4af8a0ee3f8/dep-lib-bitflags","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0}

View File

@ -0,0 +1 @@
This file has an mtime of when this was started.

View File

@ -0,0 +1 @@
6a662a8e3b19e24a

View File

@ -0,0 +1 @@
{"rustc":11410426090777951712,"features":"[]","declared_features":"[]","target":4098124618827574291,"profile":8829588955844408089,"path":11855264384849763597,"deps":[[10520923840501062997,"generic_array",false,8768866699942839440]],"local":[{"CheckDepInfo":{"dep_info":"release/.fingerprint/block-buffer-6c49f4aa0038fcc5/dep-lib-block_buffer","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0}

View File

@ -0,0 +1 @@
This file has an mtime of when this was started.

View File

@ -0,0 +1 @@
2371d05403b1ee50

View File

@ -0,0 +1 @@
{"rustc":11410426090777951712,"features":"[]","declared_features":"[\"zeroize\"]","target":6057344034650883969,"profile":8829588955844408089,"path":3784931029697659536,"deps":[[250943321903011416,"hybrid_array",false,3345875312082419698]],"local":[{"CheckDepInfo":{"dep_info":"release/.fingerprint/block-buffer-7349b954db3de287/dep-lib-block_buffer","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0}

View File

@ -0,0 +1 @@
8866cd3c70c4efb9

View File

@ -0,0 +1 @@
{"rustc":11410426090777951712,"features":"[\"default\", \"testnet\"]","declared_features":"[\"default\", \"mainnet\", \"testnet\"]","target":7404778146762638093,"profile":13549390595166432554,"path":8513599409284995895,"deps":[[530211389790465181,"hex",false,15787634871714270279],[3705884518517614584,"rustyline",false,6319809711493747040],[3796357749340587960,"ipnetwork",false,14264577701229265917],[4410016827773394062,"serde",false,1873037467600741600],[4574336264774167712,"falcon",false,11297144044893881221],[4679662532519462650,"tokio_postgres",false,4422428846490193115],[4679886969016570272,"serde_json",false,4258190769611774111],[5031988027451808403,"rpassword",false,481357853609675155],[5070769681332304831,"once_cell",false,15744040990028390655],[5799143562311631545,"cid",false,17123766667697463431],[6462525672642925639,"nix",false,14931301615080489175],[6720279626782378166,"encrypted_images",false,17505965052352096354],[7558715456661899285,"fn_dsa",false,9016230108161233584],[8257332575724569899,"ripemd",false,16352470110992745703],[9538054652646069845,"tokio",false,18174193545733255093],[10630857666389190470,"log",false,13043676451246113783],[10697383615564341592,"rayon",false,10414372644332312112],[12125460547956463099,"flexi_logger",false,16918385596032873125],[13077212702700853852,"base64",false,12472236778052707827],[13208667028893622512,"rand",false,10449594904853602868],[13497307427224311986,"sled",false,14919141409615820119],[13625485746686963219,"anyhow",false,5072919796021329727],[13731153033113646547,"colored",false,17962377023233702839],[13799876851028335573,"chrono",false,5896296795736015],[14427219905523166849,"skein",false,3437177760143475770],[15156847361825567345,"rustyline_derive",false,6772773541716608456],[15448801796383039847,"ini",false,485619022592367582],[16252009344366471359,"blockchain",false,13762715908787999977],[16988302369357008712,"shellexpand",false,12715705632306302407],[17917672826516349275,"lazy_static",false,14913325720830054949]],"local":[{"CheckDepInfo":{"dep_info":"release/.fingerprint/blockchain-03185415d14778b9/dep-bin-lookup_node_time","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0}

View File

@ -0,0 +1 @@
This file has an mtime of when this was started.

View File

@ -0,0 +1 @@
4aaf26fed29d1dc1

View File

@ -0,0 +1 @@
{"rustc":11410426090777951712,"features":"[\"default\", \"testnet\"]","declared_features":"[\"default\", \"mainnet\", \"testnet\"]","target":17638717676012804956,"profile":13549390595166432554,"path":17218787477200514280,"deps":[[530211389790465181,"hex",false,15787634871714270279],[3705884518517614584,"rustyline",false,6319809711493747040],[3796357749340587960,"ipnetwork",false,14264577701229265917],[4410016827773394062,"serde",false,1873037467600741600],[4574336264774167712,"falcon",false,11297144044893881221],[4679662532519462650,"tokio_postgres",false,4422428846490193115],[4679886969016570272,"serde_json",false,4258190769611774111],[5031988027451808403,"rpassword",false,481357853609675155],[5070769681332304831,"once_cell",false,15744040990028390655],[5799143562311631545,"cid",false,17123766667697463431],[6462525672642925639,"nix",false,14931301615080489175],[6720279626782378166,"encrypted_images",false,17505965052352096354],[7558715456661899285,"fn_dsa",false,9016230108161233584],[8257332575724569899,"ripemd",false,16352470110992745703],[9538054652646069845,"tokio",false,18174193545733255093],[10630857666389190470,"log",false,13043676451246113783],[10697383615564341592,"rayon",false,10414372644332312112],[12125460547956463099,"flexi_logger",false,16918385596032873125],[13077212702700853852,"base64",false,12472236778052707827],[13208667028893622512,"rand",false,10449594904853602868],[13497307427224311986,"sled",false,14919141409615820119],[13625485746686963219,"anyhow",false,5072919796021329727],[13731153033113646547,"colored",false,17962377023233702839],[13799876851028335573,"chrono",false,5896296795736015],[14427219905523166849,"skein",false,3437177760143475770],[15156847361825567345,"rustyline_derive",false,6772773541716608456],[15448801796383039847,"ini",false,485619022592367582],[16252009344366471359,"blockchain",false,13762715908787999977],[16988302369357008712,"shellexpand",false,12715705632306302407],[17917672826516349275,"lazy_static",false,14913325720830054949]],"local":[{"CheckDepInfo":{"dep_info":"release/.fingerprint/blockchain-1192873396f3cb8a/dep-bin-verify_message","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0}

View File

@ -0,0 +1 @@
This file has an mtime of when this was started.

View File

@ -0,0 +1 @@
3352cf0fc5adbd58

View File

@ -0,0 +1 @@
{"rustc":11410426090777951712,"features":"[\"default\", \"testnet\"]","declared_features":"[\"default\", \"mainnet\", \"testnet\"]","target":15040519239318253087,"profile":13549390595166432554,"path":16788225775513844295,"deps":[[530211389790465181,"hex",false,15787634871714270279],[3705884518517614584,"rustyline",false,6319809711493747040],[3796357749340587960,"ipnetwork",false,14264577701229265917],[4410016827773394062,"serde",false,1873037467600741600],[4574336264774167712,"falcon",false,11297144044893881221],[4679662532519462650,"tokio_postgres",false,4422428846490193115],[4679886969016570272,"serde_json",false,4258190769611774111],[5031988027451808403,"rpassword",false,481357853609675155],[5070769681332304831,"once_cell",false,15744040990028390655],[5799143562311631545,"cid",false,17123766667697463431],[6462525672642925639,"nix",false,14931301615080489175],[6720279626782378166,"encrypted_images",false,17505965052352096354],[7558715456661899285,"fn_dsa",false,9016230108161233584],[8257332575724569899,"ripemd",false,16352470110992745703],[9538054652646069845,"tokio",false,18174193545733255093],[10630857666389190470,"log",false,13043676451246113783],[10697383615564341592,"rayon",false,10414372644332312112],[12125460547956463099,"flexi_logger",false,16918385596032873125],[13077212702700853852,"base64",false,12472236778052707827],[13208667028893622512,"rand",false,10449594904853602868],[13497307427224311986,"sled",false,14919141409615820119],[13625485746686963219,"anyhow",false,5072919796021329727],[13731153033113646547,"colored",false,17962377023233702839],[13799876851028335573,"chrono",false,5896296795736015],[14427219905523166849,"skein",false,3437177760143475770],[15156847361825567345,"rustyline_derive",false,6772773541716608456],[15448801796383039847,"ini",false,485619022592367582],[16252009344366471359,"blockchain",false,13762715908787999977],[16988302369357008712,"shellexpand",false,12715705632306302407],[17917672826516349275,"lazy_static",false,14913325720830054949]],"local":[{"CheckDepInfo":{"dep_info":"release/.fingerprint/blockchain-1a1e58707fd31869/dep-bin-create_loan_tx","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0}

View File

@ -0,0 +1 @@
This file has an mtime of when this was started.

View File

@ -0,0 +1 @@
9b27258ef0341002

View File

@ -0,0 +1 @@
{"rustc":11410426090777951712,"features":"[\"default\", \"testnet\"]","declared_features":"[\"default\", \"mainnet\", \"testnet\"]","target":11084725208516710368,"profile":13549390595166432554,"path":7222418867650431197,"deps":[[530211389790465181,"hex",false,15787634871714270279],[3705884518517614584,"rustyline",false,6319809711493747040],[3796357749340587960,"ipnetwork",false,14264577701229265917],[4410016827773394062,"serde",false,1873037467600741600],[4574336264774167712,"falcon",false,11297144044893881221],[4679662532519462650,"tokio_postgres",false,4422428846490193115],[4679886969016570272,"serde_json",false,4258190769611774111],[5031988027451808403,"rpassword",false,481357853609675155],[5070769681332304831,"once_cell",false,15744040990028390655],[5799143562311631545,"cid",false,17123766667697463431],[6462525672642925639,"nix",false,14931301615080489175],[6720279626782378166,"encrypted_images",false,17505965052352096354],[7558715456661899285,"fn_dsa",false,9016230108161233584],[8257332575724569899,"ripemd",false,16352470110992745703],[9538054652646069845,"tokio",false,18174193545733255093],[10630857666389190470,"log",false,13043676451246113783],[10697383615564341592,"rayon",false,10414372644332312112],[12125460547956463099,"flexi_logger",false,16918385596032873125],[13077212702700853852,"base64",false,12472236778052707827],[13208667028893622512,"rand",false,10449594904853602868],[13497307427224311986,"sled",false,14919141409615820119],[13625485746686963219,"anyhow",false,5072919796021329727],[13731153033113646547,"colored",false,17962377023233702839],[13799876851028335573,"chrono",false,5896296795736015],[14427219905523166849,"skein",false,3437177760143475770],[15156847361825567345,"rustyline_derive",false,6772773541716608456],[15448801796383039847,"ini",false,485619022592367582],[16252009344366471359,"blockchain",false,13762715908787999977],[16988302369357008712,"shellexpand",false,12715705632306302407],[17917672826516349275,"lazy_static",false,14913325720830054949]],"local":[{"CheckDepInfo":{"dep_info":"release/.fingerprint/blockchain-1b3602285b55fcad/dep-bin-verify_sign_swap_tx","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0}

View File

@ -0,0 +1 @@
This file has an mtime of when this was started.

View File

@ -0,0 +1 @@
3424d9f035b37462

View File

@ -0,0 +1 @@
{"rustc":11410426090777951712,"features":"[\"default\", \"testnet\"]","declared_features":"[\"default\", \"mainnet\", \"testnet\"]","target":1462094713955311381,"profile":13549390595166432554,"path":10778513233301155002,"deps":[[530211389790465181,"hex",false,15787634871714270279],[3705884518517614584,"rustyline",false,6319809711493747040],[3796357749340587960,"ipnetwork",false,14264577701229265917],[4410016827773394062,"serde",false,1873037467600741600],[4574336264774167712,"falcon",false,11297144044893881221],[4679662532519462650,"tokio_postgres",false,4422428846490193115],[4679886969016570272,"serde_json",false,4258190769611774111],[5031988027451808403,"rpassword",false,481357853609675155],[5070769681332304831,"once_cell",false,15744040990028390655],[5799143562311631545,"cid",false,17123766667697463431],[6462525672642925639,"nix",false,14931301615080489175],[6720279626782378166,"encrypted_images",false,17505965052352096354],[7558715456661899285,"fn_dsa",false,9016230108161233584],[8257332575724569899,"ripemd",false,16352470110992745703],[9538054652646069845,"tokio",false,18174193545733255093],[10630857666389190470,"log",false,13043676451246113783],[10697383615564341592,"rayon",false,10414372644332312112],[12125460547956463099,"flexi_logger",false,16918385596032873125],[13077212702700853852,"base64",false,12472236778052707827],[13208667028893622512,"rand",false,10449594904853602868],[13497307427224311986,"sled",false,14919141409615820119],[13625485746686963219,"anyhow",false,5072919796021329727],[13731153033113646547,"colored",false,17962377023233702839],[13799876851028335573,"chrono",false,5896296795736015],[14427219905523166849,"skein",false,3437177760143475770],[15156847361825567345,"rustyline_derive",false,6772773541716608456],[15448801796383039847,"ini",false,485619022592367582],[16252009344366471359,"blockchain",false,13762715908787999977],[16988302369357008712,"shellexpand",false,12715705632306302407],[17917672826516349275,"lazy_static",false,14913325720830054949]],"local":[{"CheckDepInfo":{"dep_info":"release/.fingerprint/blockchain-1e28c9d9b5e00070/dep-bin-create_burn_tx","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0}

View File

@ -0,0 +1 @@
This file has an mtime of when this was started.

View File

@ -0,0 +1 @@
2ca275fa6a340daa

View File

@ -0,0 +1 @@
{"rustc":11410426090777951712,"features":"[\"default\", \"testnet\"]","declared_features":"[\"default\", \"mainnet\", \"testnet\"]","target":13786635149744130589,"profile":13549390595166432554,"path":5127785099868230833,"deps":[[530211389790465181,"hex",false,15787634871714270279],[3705884518517614584,"rustyline",false,6319809711493747040],[3796357749340587960,"ipnetwork",false,14264577701229265917],[4410016827773394062,"serde",false,1873037467600741600],[4574336264774167712,"falcon",false,11297144044893881221],[4679662532519462650,"tokio_postgres",false,4422428846490193115],[4679886969016570272,"serde_json",false,4258190769611774111],[5031988027451808403,"rpassword",false,481357853609675155],[5070769681332304831,"once_cell",false,15744040990028390655],[5799143562311631545,"cid",false,17123766667697463431],[6462525672642925639,"nix",false,14931301615080489175],[6720279626782378166,"encrypted_images",false,17505965052352096354],[7558715456661899285,"fn_dsa",false,9016230108161233584],[8257332575724569899,"ripemd",false,16352470110992745703],[9538054652646069845,"tokio",false,18174193545733255093],[10630857666389190470,"log",false,13043676451246113783],[10697383615564341592,"rayon",false,10414372644332312112],[12125460547956463099,"flexi_logger",false,16918385596032873125],[13077212702700853852,"base64",false,12472236778052707827],[13208667028893622512,"rand",false,10449594904853602868],[13497307427224311986,"sled",false,14919141409615820119],[13625485746686963219,"anyhow",false,5072919796021329727],[13731153033113646547,"colored",false,17962377023233702839],[13799876851028335573,"chrono",false,5896296795736015],[14427219905523166849,"skein",false,3437177760143475770],[15156847361825567345,"rustyline_derive",false,6772773541716608456],[15448801796383039847,"ini",false,485619022592367582],[16252009344366471359,"blockchain",false,13762715908787999977],[16988302369357008712,"shellexpand",false,12715705632306302407],[17917672826516349275,"lazy_static",false,14913325720830054949]],"local":[{"CheckDepInfo":{"dep_info":"release/.fingerprint/blockchain-21b2327cb8be7abb/dep-bin-unpack_torrent","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0}

View File

@ -0,0 +1 @@
This file has an mtime of when this was started.

Some files were not shown because too many files have changed in this diff Show More