Skip to content

Ключи к развертыванию сети

Каждая сеть нуждается в отдельном ключевом материале для клиентов, сверстников, подписания генезиса и, для профилей 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 создать все эти файлы вместе:

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 должна уже существовать на цепочке. Она может быть зарегистрирована через манифест генезиса или последующей транзакцией. Избегайте использования идентификации подписи генезиса в качестве долгосрочной учетной записи приложения; Преимущества генезиса применяются только во время раунда генезиса, и производственные клиенты должны использовать свои собственные счета и роли.