Les clés pour le déploiement du réseau
Chaque réseau a besoin d'un matériel clé distinct pour les clients, les pairs, la signature de la génèse et, pour les profils NPoS ou Nexus, des identités de validateur BLS.
Où les clés sont utilisées
- Les clés de signature du client sont stockées à
client.tomlsous[account]. - Les clés d'identification des pairs sont stockées dans chaque paire
config.tomlen tant quepublic_keyetprivate_key. - La découverte par les pairs utilise la clé publique de chaque paire dans
trusted_peers. - BLS validateur La preuve de possession est stockée dans
trusted_peers_poppour les profils de NPOS. - La signature de la Genèse utilise le
[genesis].public_keyen configuration par les pairs et la clé privée correspondante lors de la signature du manifeste.
Pour les déploiements locaux ou de test, laissez Kagami générer tous ces fichiers ensemble:
cargo run --bin kagami -- localnet --build-line iroha3 --peers 4 --out-dir ./localnetPour un réseau ou un profil existant, utilisez le flux guidé:
cargo run --bin kagami -- wizard --profile nexusGénérer des paires de clés individuelles
Utilisation de kagami keys pour le matériau clé autonome:
cargo run --bin kagami -- keys --algorithm ed25519 --jsonPour le matériel de validation BLS, inclure une preuve de possession:
cargo run --bin kagami -- keys --algorithm bls_normal --pop --jsonUtilisez --seed uniquement pour les appareils de développement reproductibles. Pour le déploiement en production, générez de nouvelles clés et stockez des clés privées hors du référentiel.
La cohérence entre les pairs
Tous les validateurs doivent se mettre d'accord sur la même transaction génétique, la topologie, les clés publiques de confiance et le validateur PoPs. Une seule clé peer manquante ou mal correspondante peut empêcher le réseau de démarrer ou d'atteindre un consensus.
Pour un déploiement minimal de tolérance aux défauts byzantins, utilisez au moins quatre pairs. Chaque paire doit avoir sa propre clé privée, mais chaque configuration de paires a besoin du même ensemble de pairs fiables.
Comptes des clients
Le compte client dans client.toml doit déjà exister sur la chaîne. Il peut être enregistré par le manifeste génèse ou par une transaction ultérieure. Évitez d'utiliser l'identité de signature génèse comme un compte d'application à long terme; Les privilèges de génèse ne s'appliquent qu'au cours du cycle de génèse, et les clients de production doivent utiliser leurs propres comptes et rôles.