15 releases (stable)
new 1.19.2 | Nov 8, 2024 |
---|---|
1.18.3 | Feb 28, 2024 |
1.18.2 | Dec 14, 2023 |
1.18.0 | Nov 27, 2023 |
1.14.17-rc6 | Jun 21, 2023 |
#80 in Magic Beans
650 downloads per month
Used in 32 crates
(16 directly)
665KB
14K
SLoC
Loading and saving the Miraland CLI configuration file.
The configuration file used by the Miraland CLI includes information about the RPC node to connect to, the path to the user's signing source, and more. Other software than the Miraland CLI may wish to access the same configuration and signer.
The default path to the configuration file can be retrieved from
CONFIG_FILE
, which is a lazy_static of Option<String>
, the value of
which is
~/.config/miraland/cli/config.yml
CONFIG_FILE
will only be None
if it is unable to identify the user's
home directory, which should not happen under typical OS environments.
The CLI configuration is defined by the Config
struct, and its value is
loaded with Config::load
and saved with Config::save
.
Two important fields of Config
are
json_rpc_url
, the URL to pass tomiraland_rpc_client::rpc_client::RpcClient
.keypair_path
, a signing source, which may be a keypair file, but may also represent several other types of signers, as described in the documentation formiraland_clap_utils::keypair::signer_from_path
.
Examples
Loading and saving the configuration. Note that this uses the anyhow crate for error handling.
use anyhow::anyhow;
use miraland_cli_config::{CONFIG_FILE, Config};
let config_file = miraland_cli_config::CONFIG_FILE.as_ref()
.ok_or_else(|| anyhow!("unable to get config file path"))?;
let mut cli_config = Config::load(&config_file)?;
// Set the RPC URL to devnet
cli_config.json_rpc_url = "https://api.devnet-mln.miraland.top".to_string();
cli_config.save(&config_file)?;
Dependencies
~23–38MB
~595K SLoC