6个版本 (1个稳定版)
1.0.0 | 2020年3月31日 |
---|---|
1.0.0-rc.3 | 2020年3月25日 |
1.0.0-rc.2 | 2020年3月13日 |
1.0.0-rc.1 | 2020年2月7日 |
0.13.0-rc.2 | 2019年12月4日 |
#9 在 #exonum
被 2 crate 使用
1.5MB
31K SLoC
用于构建Exonum节点命令行界面的库
exonum-cli
包提供了一种可扩展的命令行界面,用于Exonum节点。
默认情况下,以下CLI子命令可用
命令 | 描述 |
---|---|
generate-template | 生成节点配置的通用部分 |
generate-config | 生成节点的公共和私有配置 |
finalize | 生成最终节点配置 |
run | 使用提供的节点配置运行节点 |
run-dev | 使用自动生成的配置运行节点 |
maintenance | 执行不同的维护操作 |
help | 打印此消息或给定子命令的帮助信息 |
但是,可以添加新命令来扩展 exonum-cli
的功能。
有关更多详细信息,请参阅包文档。
如何运行网络
- 使用
generate-template
命令生成节点配置的通用(模板)部分。生成的.toml
文件必须在所有节点之间共享,并在以下配置步骤中使用。 - 使用
generate-config
命令生成节点的公钥和私钥(私有)部分。在此步骤中,Exonum将生成主密钥,从主密钥派生出共识和服务的验证者密钥。主密钥存储在加密文件中。共识秘密密钥用于节点之间的通信,而服务秘密密钥主要用于对节点生成的交易进行签名。这两个秘密密钥都可以用密码进行加密。节点配置的公钥部分必须在所有节点之间传播,而密钥部分必须仅由节点管理员访问。 - 使用
finalize
命令生成最终的节点配置。Exonum将节点配置的密钥部分与每个其他节点的公钥配置组合,生成包含所有必要的节点和网络设置的单一配置文件。 - 使用
run
命令并提供上一步生成的最终节点配置文件。如果秘密密钥受密码保护,用户需要输入密码。运行节点将自动连接到网络中的其他节点,使用节点配置公钥部分中的IP地址。
附加命令
exonum-cli
还支持额外的CLI命令,以便节点管理员执行维护操作和更容易的调试。
run-dev
命令自动生成单个节点的网络配置并运行。此命令在开发过程中快速测试服务非常有用。maintenance
命令目前仅包含清除缓存的功能。它允许清除节点的共识消息缓存,以修复节点不同步的罕见问题。
示例
使用默认设置运行Exonum节点
use exonum_cli::NodeBuilder;
use exonum_cryptocurrency_advanced as cryptocurrency;
fn main() -> anyhow::Result<()> {
exonum::helpers::init_logger().unwrap();
NodeBuilder::new()
.with_service(cryptocurrency::CryptocurrencyService)
.run()
}
用法
将exonum-cli
作为依赖项包含在您的Cargo.toml
中
[dependencies]
exonum-cli = "1.0.0"
许可
exonum-cli
根据Apache许可证(版本2.0)授权。有关详细信息,请参阅LICENSE。
依赖项
~73MB
~1.5M SLoC