pub struct Geth { /* private fields */ }Expand description
Builder for launching geth.
§Panics
If spawn is called without geth being available in the user’s $PATH
§Example
use ethers_core::utils::Geth;
let port = 8545u16;
let url = format!("http://localhost:{}", port).to_string();
let geth = Geth::new()
.port(port)
.block_time(5000u64)
.spawn();
drop(geth); // this will kill the instanceImplementations§
Source§impl Geth
impl Geth
Sourcepub fn new() -> Self
pub fn new() -> Self
Creates an empty Geth builder. The default port is 8545. The mnemonic is chosen randomly.
Sourcepub fn at(path: impl Into<PathBuf>) -> Self
pub fn at(path: impl Into<PathBuf>) -> Self
Creates a Geth builder which will execute geth at the given path.
§Example
use ethers_core::utils::Geth;
let geth = Geth::at("../go-ethereum/build/bin/geth").spawn();
println!("Geth running at `{}`", geth.endpoint());Sourcepub fn path<T: Into<PathBuf>>(self, path: T) -> Self
pub fn path<T: Into<PathBuf>>(self, path: T) -> Self
Sets the path to the geth executable
By default, it’s expected that geth is in $PATH, see also
std::process::Command::new()
Sourcepub fn set_clique_private_key<T: Into<SigningKey>>(self, private_key: T) -> Self
pub fn set_clique_private_key<T: Into<SigningKey>>(self, private_key: T) -> Self
Sets the Clique Private Key to the geth executable, which will be later
loaded on the node.
Sourcepub fn port<T: Into<u16>>(self, port: T) -> Self
pub fn port<T: Into<u16>>(self, port: T) -> Self
Sets the port which will be used when the geth-cli instance is launched.
Sourcepub fn p2p_port(self, port: u16) -> Self
pub fn p2p_port(self, port: u16) -> Self
Sets the port which will be used for incoming p2p connections.
This will put the geth instance into non-dev mode, discarding any previously set dev-mode options.
Sourcepub fn block_time<T: Into<u64>>(self, block_time: T) -> Self
pub fn block_time<T: Into<u64>>(self, block_time: T) -> Self
Sets the block-time which will be used when the geth-cli instance is launched.
This will put the geth instance in dev mode, discarding any previously set options that
cannot be used in dev mode.
Sourcepub fn chain_id<T: Into<u64>>(self, chain_id: T) -> Self
pub fn chain_id<T: Into<u64>>(self, chain_id: T) -> Self
Sets the chain id for the geth instance.
Sourcepub fn insecure_unlock(self) -> Self
pub fn insecure_unlock(self) -> Self
Allow geth to unlock accounts when rpc apis are open.
Sourcepub fn disable_discovery(self) -> Self
pub fn disable_discovery(self) -> Self
Disable discovery for the geth instance.
This will put the geth instance into non-dev mode, discarding any previously set dev-mode options.
Sourcepub fn ipc_path<T: Into<PathBuf>>(self, path: T) -> Self
pub fn ipc_path<T: Into<PathBuf>>(self, path: T) -> Self
Manually sets the IPC path for the socket manually.
Sourcepub fn genesis(self, genesis: Genesis) -> Self
pub fn genesis(self, genesis: Genesis) -> Self
Sets the genesis.json for the geth instance.
If this is set, geth will be initialized with geth init and the --datadir option will be
set to the same value as data_dir.
This is destructive and will overwrite any existing data in the data directory.
Sourcepub fn authrpc_port(self, port: u16) -> Self
pub fn authrpc_port(self, port: u16) -> Self
Sets the port for authenticated RPC connections.
Sourcepub fn spawn(self) -> GethInstance
pub fn spawn(self) -> GethInstance
Consumes the builder and spawns geth with stdout redirected
to /dev/null.