創世記的引用
在當前的 Iroha 3 工作流中,一個 genesis.json說明描述了網絡啓動時將應用的第一筆交易和參數.
分發給同行的簽名文物是 Norito 編碼的.nrt文件,由 kagami genesis sign製作.
主要領域
一個基因表可以定義:
chain用於鏈標識符executor對於可選執行器升級字節碼路徑ivm_dir用於觸發器和升級所使用的 IVM 庫consensus_mode在公告中宣傳的初始模式transactions對有序的參數更新,說明,觸發器和拓crypto對於最初的加密快照
在 transactions 裏,拓類目錄將同等標識和 PoPs 結合在一起:
json
{
"peer": "ea0130...",
"pop_hex": "0xabcd..."
}創造一個表現
使用 Kagami 來生成一個模板:
bash
cargo run -p iroha_kagami -- genesis generate \
--consensus-mode npos \
--ivm-dir defaults \
--genesis-public-key <PUBLIC_KEY> > genesis.json對於公共 SORA Nexus 數據空間,npos是預期共識模式.其他 Iroha 3 部署可能根據目標配置文件使用授權或NPoS.
簽署公告
在編輯和驗證 JSON 後,將其簽署到可部署的 .nrt 區塊中:
bash
cargo run -p iroha_kagami -- genesis sign genesis.json \
--private-key <PRIVATE_KEY> \
--out-file genesis.signed.nrtkagami genesis sign從表格中讀取創始公鑰,並使用提供的私鑰,種子和算法來生成可部署的簽名區塊.結果是同行應該從他們的配置引用的文件.
配置 irohad
指向了簽署的基因塊:
toml
[genesis]
file = "genesis.signed.nrt"
public_key = "<PUBLIC_KEY>"相關工具
kagami genesis validatekagami genesis normalizekagami genesis embed-popkagami localnetcargo xtask kagami-profiles
對於發電機的實現和命令詳情,請參閱 Kagami README.