Skip to content

Криптографик асҡыстар яһау

Iroha 3 өсөн клиент, peer һәм validator асҡыс материалын булдырыу өсөн kagami keys ҡулланығыҙ.

Төп ҡулланыу

Iroha сығанаҡ кодының checkout каталогынан:

bash
cargo run --bin kagami -- keys --algorithm ed25519

JSON сығанағын, ғәҙәттә, TOML йәки автоматикаға күсереп яҙыу еңелерәк:

bash
cargo run --bin kagami -- keys --algorithm ed25519 --json

Команда асыҡ асҡысты һәм асыҡ күренештәге шәхси асҡысты баҫтыра. Шәхси асҡысты йәшерен материал тип иҫәпләгеҙ; булдырылған производство асҡыстарын репозиторийға commit итмәгеҙ.

Ярҙам ителгән Unix платформаһында хәүефһеҙ урындағы экспорт йәки һаҡсыға тапшырыу өсөн шәхси асҡысты баҫтырыу урынына яңы асҡыс парын тик хужа инә алған буш каталогҡа яҙығыҙ:

bash
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 идентификация талап ителгәндә.
  • build BLS ярҙамын ҡабыҙһа, һәр node йәки peer консенсус идентификаторы өсөн bls_normal.

Төҙөлөшөңдөң теүәл алгоритмдарын тикшерегеҙ:

bash
cargo run --bin kagami -- keys --help

Детерминистик үҫеш асҡыстары

Ҡабатлана торған fixture өсөн 64 ун алтылы символ менән кодланған 32 байтлы seed бирегеҙ. Мәжбүри булмаған 0x префиксы ҡабул ителә:

bash
cargo run --bin kagami -- keys --algorithm ed25519 \
  --seed-hex 1111111111111111111111111111111111111111111111111111111111111111 \
  --json

Seed — шәхси асҡыс материалы. Детерминистик seed-ты тик урындағы үҫеш һәм һынау өсөн ҡулланығыҙ. Производство асҡысын операцион системаның осраҡлылыҡ сығанағынан булдырыу өсөн --seed-hex параметрын бирмәгеҙ.

BLS Консенсус асҡыстары һәм милектең иҫбатланмаһы

Iroha 3 node һәм peer консенсус идентификаторҙары BLS-normal асҡыстарын ҡуллана. BLS-normal асҡысын һәм эйә булыу дәлилен (PoP) шулай булдырығыҙ:

bash
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-ты ҡулланығыҙ:

bash
cargo run --bin kagami -- keys --algorithm ed25519 --compact

Тулы рәүештә барлыҡҡа килгән Kagami ярҙам өсөн:

bash
cargo run -p iroha_kagami -- advanced markdown-help > crates/iroha_kagami/CommandLineHelp.md