Ссылка на Бытие
В текущем процессе работы Iroha 3 манифест genesis.json описывает первые транзакции и параметры, которые будут применяться при запуске сети.
Подписанный артефакт, распространенный среди сверстников, представляет собой файл Norito-кодированный .nrt, созданный kagami genesis sign.
Основные поля
Генезисный манифест может определить:
chainдля идентификатора цепиexecutorдля факультативного выполнителя обновления маршрута байткодаivm_dirдля библиотек IVM, используемых в процессах запуска и модернизацииconsensus_modeдля исходного режима, объявленного в манифестеtransactionsдля обновления параметров, инструкций, триггеров и топологии.cryptoдля первоначального криптовалютного снимка
В пределах transactions, топологические записи пары идентифицируют однородных и PoPs вместе:
{
"peer": "ea0130...",
"pop_hex": "0xabcd..."
}Создать манифест
Используйте Kagami для создания шаблона:
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:
cargo run -p iroha_kagami -- genesis sign genesis.json \
--private-key <PRIVATE_KEY> \
--out-file genesis.signed.nrtkagami genesis sign читает общественный ключ генезиса из манифеста и использует предоставленный частный ключ, семя и алгоритм для создания развертываемого подписанного блока.
Конфигурация irohad
Направьте демона на подписанный блок генезиса:
[genesis]
file = "genesis.signed.nrt"
public_key = "<PUBLIC_KEY>"Сопутствующие инструменты
kagami genesis validatekagami genesis normalizekagami genesis embed-popkagami localnetcargo xtask kagami-profiles
Для деталей внедрения генератора и команды см. Kagami README.