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 alloy_node_bindings::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 alloy_node_bindings::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 const fn is_clique(&self) -> bool
pub const fn is_clique(&self) -> bool
Returns whether the node is launched in Clique consensus mode.
sourcepub fn clique_address(&self) -> Option<Address>
pub fn clique_address(&self) -> Option<Address>
Calculates the address of the Clique consensus address.
sourcepub fn set_clique_private_key<T: Into<SigningKey>>(self, private_key: T) -> Self
👎Deprecated: clique support was removed in geth >=1.14
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 const fn block_time(self, block_time: u64) -> Self
pub const fn block_time(self, block_time: u64) -> 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 const fn insecure_unlock(self) -> Self
pub const fn insecure_unlock(self) -> Self
Allow geth to unlock accounts when rpc apis are open.
sourcepub const fn enable_ipc(self) -> Self
pub const fn enable_ipc(self) -> Self
Enable IPC for the geth instance.
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 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 const fn authrpc_port(self, port: u16) -> Self
pub const fn authrpc_port(self, port: u16) -> Self
Sets the port for authenticated RPC connections.
sourcepub fn arg<T: Into<OsString>>(self, arg: T) -> Self
pub fn arg<T: Into<OsString>>(self, arg: T) -> Self
Adds an argument to pass to geth
.
Pass any arg that is not supported by the builder.
sourcepub fn args<I, S>(self, args: I) -> Self
pub fn args<I, S>(self, args: I) -> Self
Adds multiple arguments to pass to geth
.
Pass any args that is not supported by the builder.
sourcepub fn spawn(self) -> GethInstance
pub fn spawn(self) -> GethInstance
sourcepub fn try_spawn(self) -> Result<GethInstance, NodeError>
pub fn try_spawn(self) -> Result<GethInstance, NodeError>
Consumes the builder and spawns geth
. If spawning fails, returns an error.
Trait Implementations§
Auto Trait Implementations§
impl !Freeze for Geth
impl RefUnwindSafe for Geth
impl Send for Geth
impl Sync for Geth
impl Unpin for Geth
impl UnwindSafe for Geth
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)