網絡部署的關鍵
每個網絡都需要針對客戶,同行,創始簽名和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 中的客戶帳戶必須已經存在在鏈上.它可以通過基因表或以後的交易進行註冊.避免使用基因簽字 作爲長期應用帳戶的身份;基因特權僅適用於基因週期,生產客戶應該使用自己的賬戶和角色.