mirror of
https://github.com/hl-archive-node/nanoreth.git
synced 2025-12-06 10:59:55 +00:00
feat: Pseudo peer and staged sync
For simplicity, we use with_pow() + pseudo peer that connects to reth itself, so that it can support 1. StateFetcher via NetworkState 2. Block announcement (which requires with_pow()). For block announcement, another way was using ImportService like before, or calling engine_api. But for simplicitiy, for now we just publish from pseudo peer like pre-PoS, hence with_pow().
This commit is contained in:
16
src/pseudo_peer/main.rs
Normal file
16
src/pseudo_peer/main.rs
Normal file
@ -0,0 +1,16 @@
|
||||
use clap::Parser;
|
||||
use reth_my_p2p::cli::PseudoPeerCommand;
|
||||
|
||||
#[tokio::main]
|
||||
async fn main() -> eyre::Result<()> {
|
||||
let cli = PseudoPeerCommand::parse();
|
||||
cli.logs.init_tracing()?;
|
||||
|
||||
// Parse and create block source configuration
|
||||
let block_source_config = cli.source.parse().await?;
|
||||
let block_source = block_source_config.create_cached_block_source().await;
|
||||
|
||||
// Start the worker
|
||||
reth_my_p2p::start_pseudo_peer(cli.destination_peer, block_source).await?;
|
||||
Ok(())
|
||||
}
|
||||
Reference in New Issue
Block a user