网络部署的关键
每个网络都需要针对客户,同行,创始签名和NPoS或 Nexus 个人资料, BLS 验证者身份.
用钥匙的地方
- 客户签名密钥存储在
client.toml下[account]. - 每个同行身份密钥
config.toml存储为public_key和private_key. - 在
trusted_peers中,同行发现使用每个同行的公钥. - BLS 验证器 NPoS配置文件的所有权证明存储在
trusted_peers_pop中. - 在签署表时,Genesis签字使用
[genesis].public_key在同行配置中和相匹配的私钥.
在本地或测试部署中,让 Kagami 将所有这些文件生成在一起:
bash
cargo run --bin kagami -- localnet --build-line iroha3 --peers 4 --out-dir ./localnet对于现有网络或配置文件,使用导向流程:
bash
cargo run --bin kagami -- wizard --profile nexus创建单个关键对
使用 kagami keys用于单独的钥匙材料:
bash
cargo run --bin kagami -- keys --algorithm ed25519 --json对于 BLS 验证器材料,包括所有权证明:
bash
cargo run --bin kagami -- keys --algorithm bls_normal --pop --json使用 --seed 仅用于可复制的开发装置.用于生产部署,生成新钥匙并将私钥存储在库外.
同龄人一致
所有验证者都必须同意相同的创始交易,拓学,可信赖的同行公钥和验证器 PoPs.一个缺失或不匹配的同行关键可以阻止网络启动或达成共识.
为了达到最低的拜占庭错误耐受性,使用至少四个同龄人.每个同行必须有自己的私钥,但每一个同行配置都需要相同的可靠的同行.
客户账户
在 client.toml 中的客户帐户必须已经存在在链上.它可以通过基因表或以后的交易进行注册.避免使用基因签字 作为长期应用帐户的身份;基因特权仅适用于基因周期,生产客户应该使用自己的账户和角色.