mirror of
https://github.com/paradigmxyz/reth.git
synced 2026-02-19 03:04:27 -05:00
refactor: dedup runtime initializations (#22263)
Co-authored-by: Alexey Shekhirin <github@shekhirin.com>
This commit is contained in:
@@ -20,6 +20,7 @@ reth-payload-primitives.workspace = true
|
||||
reth-primitives.workspace = true
|
||||
reth-primitives-traits.workspace = true
|
||||
reth-provider = { workspace = true, features = ["test-utils"] }
|
||||
reth-tasks.workspace = true
|
||||
reth-tracing.workspace = true
|
||||
|
||||
# alloy
|
||||
|
||||
@@ -19,6 +19,7 @@ use reth_network::{
|
||||
};
|
||||
use reth_network_api::events::{PeerEvent, SessionInfo};
|
||||
use reth_provider::noop::NoopProvider;
|
||||
use reth_tasks::Runtime;
|
||||
use reth_tracing::{
|
||||
tracing_subscriber::filter::LevelFilter, LayerInfo, LogFormat, RethTracer, Tracer,
|
||||
};
|
||||
@@ -53,7 +54,7 @@ async fn main() {
|
||||
|
||||
let bsc_boot_nodes = boot_nodes();
|
||||
|
||||
let net_cfg = NetworkConfig::builder(secret_key)
|
||||
let net_cfg = NetworkConfig::builder(secret_key, Runtime::test())
|
||||
.boot_nodes(bsc_boot_nodes.clone())
|
||||
.set_head(head())
|
||||
.with_pow()
|
||||
|
||||
@@ -8,6 +8,7 @@ use reth_network::{
|
||||
EthNetworkPrimitives, NetworkConfig, NetworkEvent, NetworkEventListenerProvider, NetworkManager,
|
||||
};
|
||||
use reth_provider::noop::NoopProvider;
|
||||
use reth_tasks::Runtime;
|
||||
use secp256k1::{rand, SecretKey};
|
||||
use std::{
|
||||
net::{Ipv4Addr, SocketAddr},
|
||||
@@ -25,7 +26,7 @@ async fn can_connect() {
|
||||
|
||||
let secret_key = SecretKey::new(&mut rand::thread_rng());
|
||||
|
||||
let net_cfg = NetworkConfig::<_, EthNetworkPrimitives>::builder(secret_key)
|
||||
let net_cfg = NetworkConfig::<_, EthNetworkPrimitives>::builder(secret_key, Runtime::test())
|
||||
.boot_nodes(boot_nodes())
|
||||
.set_head(head())
|
||||
.with_pow()
|
||||
|
||||
@@ -22,7 +22,7 @@ use reth_ethereum::{
|
||||
|
||||
#[tokio::main]
|
||||
async fn main() -> eyre::Result<()> {
|
||||
let runtime = Runtime::with_existing_handle(tokio::runtime::Handle::current())?;
|
||||
let runtime = Runtime::test();
|
||||
|
||||
// create node config
|
||||
let node_config = NodeConfig::test()
|
||||
|
||||
@@ -391,7 +391,7 @@ where
|
||||
async fn main() -> eyre::Result<()> {
|
||||
let _guard = RethTracer::new().init()?;
|
||||
|
||||
let runtime = Runtime::with_existing_handle(tokio::runtime::Handle::current())?;
|
||||
let runtime = Runtime::test();
|
||||
|
||||
// create genesis with canyon at block 2
|
||||
let spec = ChainSpec::builder()
|
||||
|
||||
@@ -121,7 +121,7 @@ pub fn prague_custom() -> &'static Precompiles {
|
||||
async fn main() -> eyre::Result<()> {
|
||||
let _guard = RethTracer::new().init()?;
|
||||
|
||||
let runtime = Runtime::with_existing_handle(tokio::runtime::Handle::current())?;
|
||||
let runtime = Runtime::test();
|
||||
|
||||
// create a custom chain spec
|
||||
let spec = ChainSpec::builder()
|
||||
|
||||
@@ -22,6 +22,7 @@ use reth_ethereum::{
|
||||
NetworkConfig, NetworkManager, NetworkProtocols,
|
||||
},
|
||||
node::{builder::NodeHandle, EthereumNode},
|
||||
tasks::Runtime,
|
||||
};
|
||||
use subprotocol::{
|
||||
connection::CustomCommand,
|
||||
@@ -50,7 +51,7 @@ fn main() -> eyre::Result<()> {
|
||||
let secret_key = rng_secret_key();
|
||||
let (tx, mut from_peer1) = mpsc::unbounded_channel();
|
||||
let custom_rlpx_handler_2 = CustomRlpxProtoHandler { state: ProtocolState { events: tx } };
|
||||
let net_cfg = NetworkConfig::builder(secret_key)
|
||||
let net_cfg = NetworkConfig::builder(secret_key, Runtime::test())
|
||||
.listener_addr(SocketAddr::V4(SocketAddrV4::new(Ipv4Addr::UNSPECIFIED, 0)))
|
||||
.disable_discovery()
|
||||
.add_rlpx_sub_protocol(custom_rlpx_handler_2.into_rlpx_sub_protocol())
|
||||
|
||||
@@ -24,6 +24,7 @@ use reth_ethereum::{
|
||||
BlockDownloaderProvider, FetchClient, NetworkConfig, NetworkEventListenerProvider,
|
||||
NetworkHandle, NetworkInfo, NetworkManager, Peers,
|
||||
},
|
||||
tasks::Runtime,
|
||||
};
|
||||
|
||||
#[tokio::main]
|
||||
@@ -34,7 +35,8 @@ async fn main() -> eyre::Result<()> {
|
||||
let local_key = rng_secret_key();
|
||||
|
||||
// Configure the network
|
||||
let config = NetworkConfig::builder(local_key).build_with_noop_provider(DEV.clone());
|
||||
let config =
|
||||
NetworkConfig::builder(local_key, Runtime::test()).build_with_noop_provider(DEV.clone());
|
||||
|
||||
let (requests_tx, mut requests_rx) = tokio::sync::mpsc::channel(1000);
|
||||
let (transactions_tx, mut transactions_rx) = tokio::sync::mpsc::unbounded_channel();
|
||||
@@ -107,7 +109,7 @@ async fn main() -> eyre::Result<()> {
|
||||
/// first peer.
|
||||
async fn run_peer(handle: NetworkHandle) -> eyre::Result<()> {
|
||||
// create another peer
|
||||
let config = NetworkConfig::builder(rng_secret_key())
|
||||
let config = NetworkConfig::builder(rng_secret_key(), Runtime::test())
|
||||
// use random ports
|
||||
.with_unused_ports()
|
||||
.build_with_noop_provider(DEV.clone());
|
||||
|
||||
@@ -16,6 +16,7 @@ use reth_ethereum::{
|
||||
EthPooledTransaction, Pool, TransactionListenerKind, TransactionPool,
|
||||
},
|
||||
provider::test_utils::NoopProvider,
|
||||
tasks::Runtime,
|
||||
};
|
||||
|
||||
#[tokio::main]
|
||||
@@ -41,7 +42,7 @@ async fn main() -> eyre::Result<()> {
|
||||
let local_key = rng_secret_key();
|
||||
|
||||
// Configure the network
|
||||
let config = NetworkConfig::<_, EthNetworkPrimitives>::builder(local_key)
|
||||
let config = NetworkConfig::<_, EthNetworkPrimitives>::builder(local_key, Runtime::test())
|
||||
.mainnet_boot_nodes()
|
||||
.build(client);
|
||||
let transactions_manager_config = config.transactions_manager_config.clone();
|
||||
|
||||
@@ -14,6 +14,7 @@ use reth_ethereum::{
|
||||
config::rng_secret_key, NetworkConfig, NetworkEventListenerProvider, NetworkManager,
|
||||
},
|
||||
provider::test_utils::NoopProvider,
|
||||
tasks::Runtime,
|
||||
};
|
||||
|
||||
#[tokio::main]
|
||||
@@ -25,7 +26,8 @@ async fn main() -> eyre::Result<()> {
|
||||
let local_key = rng_secret_key();
|
||||
|
||||
// Configure the network
|
||||
let config = NetworkConfig::builder(local_key).mainnet_boot_nodes().build(client);
|
||||
let config =
|
||||
NetworkConfig::builder(local_key, Runtime::test()).mainnet_boot_nodes().build(client);
|
||||
|
||||
// create the network instance
|
||||
let network = NetworkManager::eth(config).await?;
|
||||
|
||||
@@ -14,9 +14,12 @@
|
||||
|
||||
use chain_cfg::{boot_nodes, head, polygon_chain_spec};
|
||||
use reth_discv4::Discv4ConfigBuilder;
|
||||
use reth_ethereum::network::{
|
||||
api::events::SessionInfo, config::NetworkMode, NetworkConfig, NetworkEvent,
|
||||
NetworkEventListenerProvider, NetworkManager,
|
||||
use reth_ethereum::{
|
||||
network::{
|
||||
api::events::SessionInfo, config::NetworkMode, NetworkConfig, NetworkEvent,
|
||||
NetworkEventListenerProvider, NetworkManager,
|
||||
},
|
||||
tasks::Runtime,
|
||||
};
|
||||
use reth_tracing::{
|
||||
tracing::info, tracing_subscriber::filter::LevelFilter, LayerInfo, LogFormat, RethTracer,
|
||||
@@ -49,7 +52,7 @@ async fn main() {
|
||||
let local_addr = SocketAddr::new(Ipv4Addr::UNSPECIFIED.into(), 30303);
|
||||
|
||||
// The network configuration
|
||||
let net_cfg = NetworkConfig::builder(secret_key)
|
||||
let net_cfg = NetworkConfig::builder(secret_key, Runtime::test())
|
||||
.set_head(head())
|
||||
.network_mode(NetworkMode::Work)
|
||||
.listener_addr(local_addr)
|
||||
|
||||
@@ -187,7 +187,7 @@ where
|
||||
async fn main() -> eyre::Result<()> {
|
||||
let _guard = RethTracer::new().init()?;
|
||||
|
||||
let runtime = Runtime::with_existing_handle(tokio::runtime::Handle::current())?;
|
||||
let runtime = Runtime::test();
|
||||
|
||||
// create a custom chain spec
|
||||
let spec = ChainSpec::builder()
|
||||
|
||||
@@ -49,7 +49,7 @@ async fn main() -> eyre::Result<()> {
|
||||
DatabaseArguments::new(ClientVersion::default()),
|
||||
)?;
|
||||
let spec = Arc::new(ChainSpecBuilder::mainnet().build());
|
||||
let runtime = Runtime::with_existing_handle(tokio::runtime::Handle::current())?;
|
||||
let runtime = Runtime::test();
|
||||
let factory = ProviderFactory::<NodeTypesWithDBAdapter<EthereumNode, DatabaseEnv>>::new(
|
||||
db.clone(),
|
||||
spec.clone(),
|
||||
|
||||
Reference in New Issue
Block a user