Struct bdk_cli::CliOpts [−][src]
pub struct CliOpts {
pub network: Network,
pub subcommand: CliSubCommand,
}Expand description
Global options
The global options and top level sub-command required for all subsequent CliSubCommand’s.
Example
let cli_args = vec!["bdk-cli", "--network", "testnet", "wallet",
"--descriptor", "wpkh(tpubEBr4i6yk5nf5DAaJpsi9N2pPYBeJ7fZ5Z9rmN4977iYLCGco1VyjB9tvvuvYtfZzjD5A8igzgw3HeWeeKFmanHYqksqZXYXGsw5zjnj7KM9/44'/1'/0'/0/*)",
"sync", "--max_addresses", "50"];
// to get CliOpts from the OS command line args use:
// let cli_opts = CliOpts::from_args();
let cli_opts = CliOpts::from_iter(&cli_args);
let expected_cli_opts = CliOpts {
network: Network::Testnet,
subcommand: CliSubCommand::Wallet {
wallet_opts: WalletOpts {
wallet: "main".to_string(),
verbose: false,
descriptor: "wpkh(tpubEBr4i6yk5nf5DAaJpsi9N2pPYBeJ7fZ5Z9rmN4977iYLCGco1VyjB9tvvuvYtfZzjD5A8igzgw3HeWeeKFmanHYqksqZXYXGsw5zjnj7KM9/44'/1'/0'/0/*)".to_string(),
change_descriptor: None,
#[cfg(feature = "electrum")]
electrum_opts: ElectrumOpts {
timeout: None,
server: "ssl://electrum.blockstream.info:60002".to_string(),
stop_gap: 10
},
#[cfg(feature = "esplora-ureq")]
esplora_opts: EsploraOpts {
server: "https://blockstream.info/testnet/api/".to_string(),
read_timeout: 5,
write_timeout: 5,
stop_gap: 10
},
#[cfg(feature = "esplora-reqwest")]
esplora_opts: EsploraOpts {
server: "https://blockstream.info/testnet/api/".to_string(),
conc: 4,
stop_gap: 10
},
#[cfg(feature = "rpc")]
rpc_opts: RpcOpts{
address: "127.0.0.1:18443".to_string(),
auth: ("user".to_string(), "password".to_string()),
skip_blocks: None,
},
#[cfg(feature = "compact_filters")]
compactfilter_opts: CompactFilterOpts{
address: vec!["127.0.0.1:18444".to_string()],
conn_count: 4,
skip_blocks: 0,
},
#[cfg(any(feature="compact_filters", feature="electrum", feature="esplora"))]
proxy_opts: ProxyOpts{
proxy: None,
proxy_auth: None,
retries: 5,
},
},
subcommand: WalletSubCommand::OnlineWalletSubCommand(Sync {
max_addresses: Some(50)
}),
},
};
assert_eq!(expected_cli_opts, cli_opts);Fields
network: NetworkSets the network
subcommand: CliSubCommandTop level cli sub-command
Trait Implementations
Builds the struct from clap::ArgMatches. It’s guaranteed to succeed
if matches originates from an App generated by StructOpt::clap called on
the same type, otherwise it must panic. Read more
Builds the struct from the command line arguments (std::env::args_os).
Calls clap::Error::exit on failure, printing the error message and aborting the program. Read more
Builds the struct from the command line arguments (std::env::args_os).
Unlike StructOpt::from_args, returns clap::Error on failure instead of aborting the program,
so calling .exit is up to you. Read more
fn from_iter<I>(iter: I) -> Self where
I: IntoIterator,
<I as IntoIterator>::Item: Into<OsString>,
<I as IntoIterator>::Item: Clone,
fn from_iter<I>(iter: I) -> Self where
I: IntoIterator,
<I as IntoIterator>::Item: Into<OsString>,
<I as IntoIterator>::Item: Clone,
Gets the struct from any iterator such as a Vec of your making.
Print the error message and quit the program in case of failure. Read more
fn from_iter_safe<I>(iter: I) -> Result<Self, Error> where
I: IntoIterator,
<I as IntoIterator>::Item: Into<OsString>,
<I as IntoIterator>::Item: Clone,
fn from_iter_safe<I>(iter: I) -> Result<Self, Error> where
I: IntoIterator,
<I as IntoIterator>::Item: Into<OsString>,
<I as IntoIterator>::Item: Clone,
Gets the struct from any iterator such as a Vec of your making. Read more
Auto Trait Implementations
impl RefUnwindSafe for CliOpts
impl UnwindSafe for CliOpts
Blanket Implementations
Mutably borrows from an owned value. Read more