კრიპტოგრაფიული გასაღების გენერაცია
გამოიყენეთ kagami keys, რათა Iroha 3-ის კლიენტის, peer-ისა და ვალიდატორის გასაღების მასალა შექმნათ.
ძირითადი გამოყენება
Iroha-ს საწყისი კოდის checkout-იდან:
cargo run --bin kagami -- keys --algorithm ed25519JSON გამომუშავება, როგორც წესი, ყველაზე ადვილია TOML ან ავტომატიზაციაში ჩაწეროს:
cargo run --bin kagami -- keys --algorithm ed25519 --jsonბრძანება საჯარო გასაღებსა და დაუფარავ პირად გასაღებს ბეჭდავს. პირად გასაღებს საიდუმლო მასალასავით მოექეცით; გენერირებული საწარმოო გასაღებები ვერსიების მართვის სისტემაში არ შეიტანოთ.
უსაფრთხო ადგილობრივი ექსპორტისთვის ან მეურვისთვის გადასაცემად, მხარდაჭერილ Unix პლატფორმაზე პირადი გასაღების დაბეჭდვის ნაცვლად გასაღებების ახალი წყვილი მხოლოდ მფლობელისთვის ხელმისაწვდომ ცარიელ დირექტორიაში ჩაწერეთ:
cargo run --bin kagami -- keys --algorithm ed25519 --out-dir ./client-keyმშობელი დირექტორია წინასწარ უნდა არსებობდეს. სამიზნე დირექტორია უნდა იყოს ახალი ან უკვე ეკუთვნოდეს მიმდინარე მომხმარებელს, ჰქონდეს რეჟიმი 0700, არ შეიცავდეს სიმბოლურ ბმულებს და იყოს ცარიელი. kagami public.key-სა და private.key-ს რეჟიმით 0600 წერს და პირად გასაღებს არ ბეჭდავს. --pop-ის გამოყენებისას ის ასევე წერს pop.hex-ს.
--out-dir შეცდომით სრულდება იმ პლატფორმებზე, სადაც Kagami მხოლოდ მფლობელისთვის განკუთვნილი ფაილური სისტემის წესების აღსრულებას ვერ ახერხებს. პირადი გასაღების ფაილი დაუშიფრავი ექსპორტია და არა აპარატული ან არაექსპორტირებადი საწარმოო ხელმომწერი. შეიტანეთ ის დამტკიცებული მეურვეობის საზღვარში და შემდეგ, დანერგვის პროცედურის შესაბამისად, ექსპორტი წაშალეთ.
ალგორითმები
საერთო ალგორითმები არიან:
ed25519კლიენტის ანგარიშებისა და ნაკადური იდენტობებისთვის.secp256k1, როდესაც კლიენტის ანგარიშს სჭირდება secp256k1 იდენტობა.bls_normalყოველი კვანძის ან peer-ის კონსენსუსის იდენტობისთვის, როცა build-ში BLS-ის მხარდაჭერა ჩართულია.
შეამოწმეთ ზუსტი ალგორითმები, რომლებიც მხარდაჭერილნი არიან თქვენი მშენებლობით:
cargo run --bin kagami -- keys --helpდეტერმინისტური განვითარების გასაღები
განმეორებადი fixture-ებისთვის მიუთითეთ 32-ბაიტიანი seed, რომელიც 64 თექვსმეტობით სიმბოლოდაა კოდირებული. დასაშვებია არასავალდებულო 0x პრეფიქსი:
cargo run --bin kagami -- keys --algorithm ed25519 \
--seed-hex 1111111111111111111111111111111111111111111111111111111111111111 \
--jsonSeed პირადი გასაღების მასალაა. დეტერმინისტული seed-ები მხოლოდ ადგილობრივი განვითარებისა და ტესტებისთვის გამოიყენეთ. საწარმოო გასაღების ოპერაციული სისტემის შემთხვევითობის წყაროდან შესაქმნელად --seed-hex გამოტოვეთ.
BLS კონსენსუსის გასაღები და ფლობის მტკიცებულებები
Iroha 3-ის კვანძებისა და peer-ების კონსენსუსის იდენტობები BLS-normal გასაღებებს იყენებს. BLS-normal გასაღები და ფლობის მტკიცებულება (PoP) ასე შექმენით:
cargo run --bin kagami -- keys --algorithm bls_normal --pop --json--pop მხოლოდ bls_normal-თან არის დასაშვები. JSON გამომავალი შეიცავს pop_hex-ს. ხელმოწერილი genesis ყველა ხმის მიმცემ ვალიდატორს შესაბამის PoP-ს სთხოვს. Peer-ის კონფიგურაციაში არაცარიელი trusted_peers_pop რუკა ვალიდატორთა ქვეჯგუფს არჩევს; ამ არაცარიელ რუკაში არშეტანილი სანდო peer-ები დამკვირვებლები არიან. თუ რუკა ცარიელია, ყველა BLS-normal სანდო peer bootstrap-ის კანდიდატთა ნაკრებში შედის, ხოლო ხმის მიმცემთა PoPs კვლავ ხელმოწერილი genesis-იდან მიეწოდება.
გამოშვების ფორმატები
ტერმინალის ინსპექტირებისთვის გამოიყენეთ გათვალისწინებული გამოსავალი --json ავტომატიზაციისთვის და --compact მაშინ, როდესაც სხვა სცენარს სჭირდება უბრალო ხაზზე ორიენტირებული მნიშვნელობები:
cargo run --bin kagami -- keys --algorithm ed25519 --compactსრულად წარმოქმნილი Kagami დახმარებისათვის:
cargo run -p iroha_kagami -- advanced markdown-help > crates/iroha_kagami/CommandLineHelp.md