mirror of
https://github.com/hl-archive-node/nanoreth.git
synced 2025-12-06 10:59:55 +00:00
feat: add providerfactory builder to OpNode (#14322)
This commit is contained in:
@ -87,10 +87,10 @@ impl EthereumNode {
|
|||||||
/// use reth_db::open_db_read_only;
|
/// use reth_db::open_db_read_only;
|
||||||
/// use reth_node_ethereum::EthereumNode;
|
/// use reth_node_ethereum::EthereumNode;
|
||||||
/// use reth_provider::providers::StaticFileProvider;
|
/// use reth_provider::providers::StaticFileProvider;
|
||||||
/// use std::{path::Path, sync::Arc};
|
/// use std::sync::Arc;
|
||||||
///
|
///
|
||||||
/// let factory = EthereumNode::provider_factory_builder()
|
/// let factory = EthereumNode::provider_factory_builder()
|
||||||
/// .db(Arc::new(open_db_read_only(Path::new("db"), Default::default()).unwrap()))
|
/// .db(Arc::new(open_db_read_only("db", Default::default()).unwrap()))
|
||||||
/// .chainspec(ChainSpecBuilder::mainnet().build().into())
|
/// .chainspec(ChainSpecBuilder::mainnet().build().into())
|
||||||
/// .static_file(StaticFileProvider::read_only("db/static_files", false).unwrap())
|
/// .static_file(StaticFileProvider::read_only("db/static_files", false).unwrap())
|
||||||
/// .build_provider_factory();
|
/// .build_provider_factory();
|
||||||
|
|||||||
@ -38,7 +38,7 @@ use reth_optimism_rpc::{
|
|||||||
witness::{DebugExecutionWitnessApiServer, OpDebugWitnessApi},
|
witness::{DebugExecutionWitnessApiServer, OpDebugWitnessApi},
|
||||||
OpEthApi, OpEthApiError, SequencerClient,
|
OpEthApi, OpEthApiError, SequencerClient,
|
||||||
};
|
};
|
||||||
use reth_provider::{CanonStateSubscriptions, EthStorage};
|
use reth_provider::{providers::ProviderFactoryBuilder, CanonStateSubscriptions, EthStorage};
|
||||||
use reth_rpc_eth_types::error::FromEvmError;
|
use reth_rpc_eth_types::error::FromEvmError;
|
||||||
use reth_rpc_server_types::RethRpcModule;
|
use reth_rpc_server_types::RethRpcModule;
|
||||||
use reth_tracing::tracing::{debug, info};
|
use reth_tracing::tracing::{debug, info};
|
||||||
@ -115,6 +115,40 @@ impl OpNode {
|
|||||||
.executor(OpExecutorBuilder::default())
|
.executor(OpExecutorBuilder::default())
|
||||||
.consensus(OpConsensusBuilder::default())
|
.consensus(OpConsensusBuilder::default())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Instantiates the [`ProviderFactoryBuilder`] for an opstack node.
|
||||||
|
///
|
||||||
|
/// # Open a Providerfactory in read-only mode from a datadir
|
||||||
|
///
|
||||||
|
/// See also: [`ProviderFactoryBuilder`] and
|
||||||
|
/// [`ReadOnlyConfig`](reth_provider::providers::ReadOnlyConfig).
|
||||||
|
///
|
||||||
|
/// ```no_run
|
||||||
|
/// use reth_optimism_chainspec::BASE_MAINNET;
|
||||||
|
/// use reth_optimism_node::OpNode;
|
||||||
|
///
|
||||||
|
/// let factory =
|
||||||
|
/// OpNode::provider_factory_builder().open_read_only(BASE_MAINNET.clone(), "datadir").unwrap();
|
||||||
|
/// ```
|
||||||
|
///
|
||||||
|
/// # Open a Providerfactory manually with with all required components
|
||||||
|
///
|
||||||
|
/// ```no_run
|
||||||
|
/// use reth_db::open_db_read_only;
|
||||||
|
/// use reth_optimism_chainspec::OpChainSpecBuilder;
|
||||||
|
/// use reth_optimism_node::OpNode;
|
||||||
|
/// use reth_provider::providers::StaticFileProvider;
|
||||||
|
/// use std::sync::Arc;
|
||||||
|
///
|
||||||
|
/// let factory = OpNode::provider_factory_builder()
|
||||||
|
/// .db(Arc::new(open_db_read_only("db", Default::default()).unwrap()))
|
||||||
|
/// .chainspec(OpChainSpecBuilder::base_mainnet().build().into())
|
||||||
|
/// .static_file(StaticFileProvider::read_only("db/static_files", false).unwrap())
|
||||||
|
/// .build_provider_factory();
|
||||||
|
/// ```
|
||||||
|
pub fn provider_factory_builder() -> ProviderFactoryBuilder<Self> {
|
||||||
|
ProviderFactoryBuilder::default()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<N> Node<N> for OpNode
|
impl<N> Node<N> for OpNode
|
||||||
|
|||||||
Reference in New Issue
Block a user