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 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.
The address derived from this private key will be used to set the miner.etherbase field
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.
If port is 0 then the OS will choose a random port. GethInstance::port will return the port that was chosen.
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.