Ключи к развертыванию сети
Каждая сеть нуждается в отдельном ключевом материале для клиентов, сверстников, подписания генезиса и, для профилей NPoS или Nexus, идентификаторов подтвердителя BLS.
Где используются ключи
- Ключи для подписания клиента хранятся в
client.tomlпод[account]. - Ключи для идентификации сверстников хранятся в каждом сверстнике
config.tomlкакpublic_keyиprivate_key. - Peer discovery использует общественный ключ каждого из них в
trusted_peers. - Validator BLS Доказательства владения хранятся в
trusted_peers_popдля профилей NPoS. - При подписании манифеста используется
[genesis].public_keyв конфигурации сверстника и соответствующий частный ключ.
Для локальных или тестовых развертываний, позвольте Kagami создать все эти файлы вместе:
cargo run --bin kagami -- localnet --build-line iroha3 --peers 4 --out-dir ./localnetДля существующей сети или профиля используйте управляемый поток:
cargo run --bin kagami -- wizard --profile nexusСоздать отдельные пары ключей
Используйте kagami keys для самостоятельного ключевого материала:
cargo run --bin kagami -- keys --algorithm ed25519 --jsonДля материала-валидатора BLS включать удостоверение владения:
cargo run --bin kagami -- keys --algorithm bls_normal --pop --jsonИспользуйте --seed только для воспроизводимых устройств разработки. Для развертывания производства генерируйте новые ключи и храните частные ключи за пределами хранилища.
Совместимость с другими людьми
Все валидаторы должны согласиться на одну и ту же генезисную транзакцию, топологию, надежные общедоступные ключи и валидатор PoPs. Один отсутствующий или несовместимый ключ может помешать сети запускать или достичь консенсуса.
Для минимального развертывания византийской терпимости к ошибкам, используйте не менее четырех сверстников. Каждый сверстник должен иметь свой собственный частный ключ, но каждая конфигурация сверстников нуждается в одном и том же надежном наборе сверстника.
Счета клиентов
учетная запись клиента в client.toml должна уже существовать на цепочке. Она может быть зарегистрирована через манифест генезиса или последующей транзакцией. Избегайте использования идентификации подписи генезиса в качестве долгосрочной учетной записи приложения; Преимущества генезиса применяются только во время раунда генезиса, и производственные клиенты должны использовать свои собственные счета и роли.