Struct ethers_core::utils::Geth
source · 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 instance
Implementations§
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.