Քրիպտոգրաֆիկ բանալիներ ստեղծելը
Օգտագործեք kagami keys՝ Iroha 3-ի client, peer և validator բանալիների նյութ ստեղծելու համար։
Հիմնական օգտագործումը
Iroha-ի սկզբնաղբյուրի checkout գրացուցակից՝
cargo run --bin kagami -- keys --algorithm ed25519JSON արտադրանքը սովորաբար ամենահեշտը կրկնօրինակվում է TOML կամ ավտոմատացված:
cargo run --bin kagami -- keys --algorithm ed25519 --jsonՀրամանը տպում է հանրային բանալին և բաց տեսքով անձնական բանալին։ Անձնական բանալուն վերաբերվեք որպես գաղտնի նյութի և ստեղծված արտադրական բանալիները repository-ում commit մի արեք։
Աջակցվող Unix հարթակում անվտանգ տեղային արտահանման կամ պահառության փոխանցման համար անձնական բանալին տպելու փոխարեն նոր բանալիների զույգը գրեք միայն սեփականատիրոջը հասանելի դատարկ գրացուցակում․
cargo run --bin kagami -- keys --algorithm ed25519 --out-dir ./client-keyԾնող գրացուցակը պետք է նախապես գոյություն ունենա։ Նպատակային գրացուցակը պետք է լինի նոր կամ արդեն պատկանի ընթացիկ օգտատիրոջը, ունենա 0700 ռեժիմ, չպարունակի խորհրդանշական հղումներ և լինի դատարկ։ kagami-ն public.key և private.key ֆայլերը գրում է 0600 ռեժիմով և անձնական բանալին չի տպում։ --pop-ի դեպքում այն նաև գրում է pop.hex։
Այն հարթակներում, որտեղ Kagami-ն չի կարող պարտադրել ֆայլային համակարգի՝ միայն սեփականատիրոջ համար նախատեսված կանոնները, --out-dir-ը անվտանգ կերպով ավարտվում է սխալով։ Անձնական բանալու ֆայլը չգաղտնագրված արտահանում է, ոչ թե ապարատային կամ չարտահանվող արտադրական ստորագրող։ Ներմուծեք այն հաստատված պահառության սահման և տեղակայման ընթացակարգի համաձայն հեռացրեք արտահանված ֆայլը։
Ալգորիթմներ
Սովորական ալգորիթմները հետեւյալն են.
ed25519հաճախորդի հաշիվների եւ հեռարձակվող ինքնության համար:secp256k1, երբ հաճախորդի հաշիվը պահանջում է secp256k1 ինքնությունը:bls_normal՝ յուրաքանչյուր node-ի կամ peer-ի consensus identity-ի համար, երբ 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-ի node և peer consensus identity-ները օգտագործում են BLS-normal բանալիներ։ BLS-normal բանալի և տիրապետման ապացույց (PoP) ստեղծեք այսպես․
cargo run --bin kagami -- keys --algorithm bls_normal --pop --json--pop-ը վավեր է միայն bls_normal-ի հետ։ JSON ելքը ներառում է pop_hex։ Ստորագրված genesis-ը յուրաքանչյուր քվեարկող validator-ի համար պահանջում է համապատասխան PoP։ Peer-ի կազմաձևում ոչ դատարկ trusted_peers_pop քարտեզն ընտրում է validator-ների ենթաբազմությունը, իսկ այդ ոչ դատարկ քարտեզում չնշված վստահելի peer-երը observer են։ Եթե քարտեզը դատարկ է, բոլոր 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