Iroha Հատուկ հրահանգներ
Երբ մենք խոսում էինք ինչպես Iroha գործում է, մենք ասացինք, որ Iroha Հատուկ հրահանգները միակ միջոցն են համաշխարհային պետության փոփոխման համար: Ինչպիսի՞ հատուկ հրահանգներ ունենք: Եթե կարդացել եք այս ձեռնարկի լեզվական ուղեցույցները, Դուք արդեն տեսել եք մի քանի հրահանգներ. Register<Account> եւ Mint<Numeric>.
Iroha հատուկ հրահանգների ամբողջական ցանկը հետեւյալն է.
| Ուսուցում | Նկարագրություն |
|---|---|
| Գրանցում/բացառություն | Տվեք ID blockchain- ի նոր միավորին: |
| Mint/Burn | Մինետ / այրում թվային ակտիվներ կամ կրկնումների առաջացման համար: |
| SetKeyValue/RemoveKeyValue | Բլոկչեյնի օբյեկտային մետադատա թարմացրեք: |
| SetParameter | Սահմանեք լայն շղթայով պարամետր: |
| Grant/Revoke | Տվեք կամ հանեք թույլտվությունները եւ դերերը: |
| Տրանսֆեր | Տրանսֆերային սեփականություն կամ ակտիվի արժեք: |
| Բնային պահպանումների եւ ակտիվների կոճակները | Փակեք թվային ակտիվները արձանագրության պահեստում: |
| ExecuteTrigger | Գործադրեք գործարկիչները: |
| Լոգ/Մշակութային/Աջատում | Գրեք, երկարացրեք կամ բարելավեք վազման ժամանակի վարքագիծը: |
Եկեք սկսենք Iroha հատուկ հրահանգների ամփոփմամբ, թե ինչ օբյեկտներ կարող են կանչվել յուրաքանչյուր հրահանգի համար եւ ինչ հրահանգներ կան յուրաքանչյուր օբյակի համար:
Ամփոփում
Յուրաքանչյուր հրահանգի համար կա այն օբյեկտների ցանկ, որոնց վրա այս հրահանգը կարող է գործարկվել: Օրինակ, փոխանցման տարբերակները ընդգրկում են սեփականատերական գրքի առարկաները եւ թվային ակտիվները, մինչդեռ մինթինգն ընդգրկում է թվային ակտիվներ եւ առաջացնում կրկնությունները:
Որոշ հրահանգներ պահանջում են նշանակման վայրը նշել: Օրինակ, եթե դուք փոխանցում եք ակտիվները, միշտ պետք է նշեք, թե որ հաշիվի վրա եք դրանք փոխանցում: Մյուս կողմից, երբ ինչ-որ բան գրանցում եք, ձեզ հարկավոր է միայն այն օբյեկտը, որը ցանկանում եք գրանցել:
| Ուսուցում | Նյութեր | Կայքում |
|---|---|---|
| EnsureAlias | սովորական տիրույթների, տվյալների տարածքի եւ հաշիվների կարգավորումը | |
| Գրանցում/բացառություն | հաշիվներ, ակտիվների սահմանումներ, NFTs, դերակատարություններ, առաջադրանքներ, զուգընկերներ; տիրույթի հեռացում | |
| Mint/Burn | թվային ակտիվներ, կրկնումները | հաշիվներ կամ գործարկիչներ |
| SetKeyValue/RemoveKeyValue | այն օբյեկտները, որոնք ունեն մետադատա. տիրույթներ, հաշիվներ, ակտիվների սահմանումներ, NFTs, RWAs, գործարկիչներ | |
| SetParameter | շղթայի պարամետրեր | |
| Grant/Revoke | դեր, թույլտվությունների տոքեր | հաշիվներ կամ դերակատարություններ |
| Տրանսֆեր | տիրույթներ, ակտիվների սահմանումներ, թվային ակտիվներ, NFTs | հաշվետվություններ |
| Բնային պահպանումների եւ ակտիվների կոճակները | թվային ակտիվների պահպանումներ, ակտիվների փակումներ, անանուն պահպանումի պարտավորություններ | գնորդներ, նպատակակետեր կամ վեճի բաժանումներ |
| ExecuteTrigger | գործարկիչներ | |
| Լոգ/Մշակութային/Աջատում | օրագրեր, կատարողին հատուկ օգտակար բեռներ, կատարողի թարմացումներ |
ISI-ի դիտարկման եւս մեկ տարբերակ կա, ըստ գրասենյակային օբյեկտի, որը նրանք դիպչում են.
| Նպատակ | հրահանգներ |
|---|---|
| Հաշիվ | գրանցել/բացառել հաշիվներ, ստանալ ակտիվներ, թարմացնել հաշիվի մետադատները, տրամադրել/վերականգնել թույլտվությունները եւ դերը |
| Դոմեյն | ապահովել տիրույթի կարգավորումը, չեղարկել տիրույթները, փոխանցել տիրապետման սեփականությունը, թարմացնել տիրույթի մետադատաները |
| Աշունների սահմանումը | գրանցման/հեղափոխման սահմանումները, տիրապետության փոխանցումը, մետադատաների թարմացումը |
| Գույք | Թվային քանակություն, տրանսֆերային քանակությունը |
| Հավաքագրություն | բացել, ընդունել, նշել ուղարկված վճարումը, ազատ արձակել, չեղյալ հայտարարել, վեճ լուծել, հանել կամ լրանալ բնիկ պահապանության գրառումները |
| NFT | գրանցում/բացառություն NFTs, տիրապետության փոխանցում, մետադատա թարմացում |
| RWA | գրանցել խմբաքանակները, փոխանցել քանակությունը, պահել/բեռնել, սառեցնել/ազանգել, փոխհատուցել, միավորել, թարմացնել մետադատաները եւ վերահսկողությունները |
| Աջակցող | գրանցել/լքել գրանցումը, մինետի / այրման սթրիկատոր կրկնությունները, գործարկել սթրիկը, թարմացնել սթրիքատոր մետադատները |
| Աշխարհը | գրանցել/բացառել զուգընկերներ եւ դերակատարություններ, սահմանել պարամետրեր, կատարելագործել կատարողին |
CLI Օրինակներ
Այս էջի օրինակները ենթադրում են, որ դուք գործարկում եք հրամաններ վերածնային Iroha աշխատանքային տարածքից նախնական տեղական հաճախորդի կարգավորման դեմ.
cargo run --bin iroha -- --config ./defaults/client.toml <command>Եթե դուք տեղադրել է iroha բինար, օգտագործեք iroha --config ./defaults/client.toml փոխարենը. Փոխանակել ստորեւ տեղակալները արժեքներով ձեր ցանցից:
export ALICE="<ALICE_ACCOUNT_I105>"
export BOB="<BOB_ACCOUNT_I105>"
export ASSET_DEF="<ASSET_DEFINITION_BASE58>"
export PEER_KEY="<BLS_PUBLIC_KEY_MULTIHASH>"
export PEER_POP="<PROOF_OF_POSSESSION_HEX>"When targeting the public Taira testnet, use a Taira client configuration. Before running fee-paying examples, save the faucet helper from Get Testnet XOR on Taira as taira_faucet_claim.py, and then claim testnet XOR from the faucete:
export TAIRA_ACCOUNT_ID="<TAIRA_I105_ACCOUNT_ID>"
export TAIRA_FEE_ASSET="6TEAJqbb8oEPmLncoNiMRbLEK6tw"
curl -fsS https://taira.sora.org/v1/accounts/faucet/puzzle | jq .
python3 taira_faucet_claim.py "$TAIRA_ACCOUNT_ID"
iroha --config ./taira.client.toml ledger asset get \
--definition "$TAIRA_FEE_ASSET" \
--account "$TAIRA_ACCOUNT_ID"Գազի գազով ֆինանսավորվող ակտիվը տեսանելի դարձնելուց հետո անհրաժեշտ գազային ակտիվների մետադատածները միացրեք գործարքները գրելու համար.
printf '{"gas_asset_id":"%s"}\n' "$TAIRA_FEE_ASSET" > taira.tx-metadata.json
cargo run --bin iroha -- \
--config ./taira.client.toml \
--metadata ./taira.tx-metadata.json \
<command>EnsureAlias
EnsureAlias տիրույթների ստեղծման եւ դրանց SNS վարձակալության համար սովորական առաջին թողարկման ուղին է: Այն հայտարարաբար կապում է տվյալների ճշգրիտ տարածքը, սեփականատերը, վարձակալման ժամկետը եւ գծագրային պահապանը, այնուհետեւ ստեղծել կամ վերանորոգել բոլոր պահանջվող վիճակը ատոմիկորեն: Օգտագործեք վավերացված POST /v1/aliases/setup/plan վերջային կետը կամ համապատասխանող CLI աշխատանքային հոսքը.
cargo run --bin iroha -- --config ./defaults/client.toml \
app alias setup plan \
--intent-file ./domain.intent.json \
--plan-file ./domain.plan.json
cargo run --bin iroha -- --config ./defaults/client.toml \
app alias setup apply --plan-file ./domain.plan.jsonՆպատակը եւ ծրագիրը գաղտնի են, բայց կիրառեք քայլային նշաններ եւ ուղարկեք սովորական գործարք կազմված հաշիվի հետ: Ծրագիրը կապված է իր շղթայով, լիազորությամբ, կենդանի վիճակի կապակցությամբ եւ ժամկետով: Երբեք մի օգտագործեք այն մեկ այլ ցանցում.
(Un) գրանցում
Գրանցումը եւ չգրանցումը օգտագործվում են ID ցուցակ տալու համար բլոկչեյնի վրա գտնվող նոր կազմակերպությանը:
Ամեն ինչ, որ կարող է գրանցվել, ինչպես Registrable եւ Identifiable, բայց ոչ թե ամեն ինչ, որ Identifiable է Registrable: Շատ բաները գրանցվում են ուղղակիորեն, սակայն որոշ դեպքերում բլոկչեյնի ներկայացումը զգալիորեն ավելի շատ տվյալներ ունի: Անվտանգության եւ կատարողական պատճառների համար մենք օգտագործում ենք տվյալների նման կառույցների կառուցիչներ (օրինակ, NewAccount), իսկ զուգընկերային գրանցումը ունի սեփականության ապացույցի հատուկ հրահանգ: Որպես կանոն, ամեն ինչ, որը կարող է գրանցվել, կարող է նաեւ չկառուցված լինել, բայց դա ոչ մի խիստ եւ արագ կանոն չէ.
Դուք կարող եք գրանցել հաշիվներ, ակտիվների սահմանումներ, NFTs, զուգընկերներ, դերակատարություններ եւ գործարկիչներ: Դոմեյնային կարգավորումը օգտագործում է EnsureAlias; հումքի բեռը Register::Domain պահվում է genesis/bootstrap- ի համար: Զուգընկերների գրանցումը օգտագործում էRegisterPeerWithPop, որը պարունակում է զուգընկերի բանալին սեփականության ապացույց: Ստուգեք մեր անվանման կոնվենցիաները ՝ պարզելու համար կազմակերպությունների անունների նկատմամբ սահմանված սահմանափակումները:
RWA խմբաքանակները ստեղծվում են հատուկ RegisterRwa հրահանգի միջոցով: Ներկայիս կոդը չի բացահայտում UnregisterRwa հրահանգը. օգտագործեք RedeemRwa ներկայացված քանակությունը հանելու համար:
INFO
Նշենք, որ կախված այն բանից, թե ինչպես եք որոշում տեղադրել ձեր ծննդային բլոկը genesis.json- ում (հատկապես ՝ արդյոք ներառել եք թույլտվության տոքերների գրանցումը), հաշիվի գրանցման գործընթացը կարող է շատ տարբեր լինել: Ընդհանուր առմամբ, մենք կարող ենք ամփոփել այն այսպես.
- Հանրային բլոկչեյնում յուրաքանչյուրը կարող է գրանցել հաշիվ:
- Անձնական բլոկչեյնում կարող է լինել հաշիվների գրանցման յուրահատուկ գործընթաց: Տիպիկ մասնավոր բլոկշեյնում, այսինքն ՝ առանց հաշիվների արձանագրման որեւէ յուրահատակ գործընթացի, դուք պետք է հաշիվ ունենաք մեկ այլ հաշիվ գրանցելու համար:
Մենք մանրամասն քննարկում ենք այս տարբերությունները, երբ մենք համեմատել մասնավոր եւ հանրային բլոկչեյներ.
INFO
Ներկայումս զուգընկերների գրանցումը միակ միջոցն է ցանցին ավելացնելու համար այն զուգընկերը, որոնք չեն եղել սկզբնական վստահելի զուգընթացների մասը:
Օգտագործեք լեզվական հատուկ ուղեցույց ՝ բլոկչեյն օբյեկտների գրանցման համար.
| Լեզու | Գլխավոր |
|---|---|
| CLI | Օգտագործեք Iroha CLI տիրույթներ ստեղծելու եւ հաշիվների եւ ակտիվների գրանցման համար: |
| Rust | Օգտագործեք Rust դասընթացը. |
| Kotlin/Java | Օգտագործեք Kotlin/Java ձեռնարկը. |
| Python | Օգտագործեք Python դասընթացը. |
| JavaScript/TypeScript | Օգտագործեք JavaScript/TypeScript ձեռնարկը : |
Պլանավորել եւ կիրառել սովորական տիրույթի կարգավորումը, այնուհետեւ վերագրեք տիրույթը, երբ այն այլեւս անհրաժեշտ չէ.
cargo run --bin iroha -- --config ./defaults/client.toml \
app alias setup plan \
--intent-file ./docs-domain.intent.json \
--plan-file ./docs-domain.plan.json
cargo run --bin iroha -- --config ./defaults/client.toml \
app alias setup apply --plan-file ./docs-domain.plan.json
cargo run --bin iroha -- --config ./defaults/client.toml \
ledger domain unregister --id docs.universalԳրանցման եւ չեղարկման հաշիվներ
cargo run --bin iroha -- --config ./defaults/client.toml \
ledger account register --id "$BOB"
cargo run --bin iroha -- --config ./defaults/client.toml \
ledger account unregister --id "$BOB"Գրանցման եւ չեղարկման ակտիվների սահմանումները.
cargo run --bin iroha -- --config ./defaults/client.toml \
ledger asset definition register \
--id "$ASSET_DEF" \
--name docs_token \
--alias docs_token#docs.universal \
--scale 0
cargo run --bin iroha -- --config ./defaults/client.toml \
ledger asset definition unregister --id "$ASSET_DEF"Գրանցվել եւ չգրանցվել NFTs: NFT գրանցումը կարդում է իր բովանդակությունը JSON ստանդարտ մուտքի միջոցով.
printf '{"kind":"badge","level":"intro"}\n' |
cargo run --bin iroha -- --config ./defaults/client.toml \
ledger nft register --id 'badge$docs.universal'
cargo run --bin iroha -- --config ./defaults/client.toml \
ledger nft unregister --id 'badge$docs.universal'Գրանցման եւ չեղարկման դեր:
cargo run --bin iroha -- --config ./defaults/client.toml \
ledger role register --id operators
cargo run --bin iroha -- --config ./defaults/client.toml \
ledger role unregister --id operatorsRegister եւ unregister triggers. Trigger գրանցման կարիք կա՛մ կազմված IVM բայթ կոդը, կա՛մ սերիալացված հրահանգների ցուցակ: Այս օրինակում կառուցվում է Log հրահանգի հետ CLI եւ խողովակներ այն դեպի trigger գրանցման:.
cargo run --bin iroha -- --config ./defaults/client.toml -o \
ledger transaction ping --log-level INFO --msg "hourly cleanup" |
cargo run --bin iroha -- --config ./defaults/client.toml \
ledger trigger register --id hourly_cleanup \
--instructions-stdin \
--filter time \
--time-start 5m \
--time-period-ms 3600000
cargo run --bin iroha -- --config ./defaults/client.toml \
ledger trigger unregister --id hourly_cleanupԳրանցել եւ չեղարկել զուգընկերները: Ստեղծեք BLS բանալին եւ PoP ՝ kagami, եթե դուք դեռ չունեք դրանք.
cargo run --bin kagami -- keys --algorithm bls_normal --pop --json
cargo run --bin iroha -- --config ./defaults/client.toml \
ledger peer register --key "$PEER_KEY" --pop "$PEER_POP"
cargo run --bin iroha -- --config ./defaults/client.toml \
ledger peer unregister --key "$PEER_KEY"Մինտ/Բուրն
Մինթինգը եւ այրումը կարող են վերաբերել թվային ակտիվներին եւ առաջացնում են սահմանափակ կրկնությունների քանակով: Որոշ ակտիվներ կարող են հայտարարվել որպես ոչ-մինտացվող, ինչը նշանակում է, որ դրանք կարող են մինետվել միայն մեկ անգամ գրանցումից հետո:
Աշունները հաշվարկվում են հատուկ հաշիվ, սովորաբար այն հաշիվը, որը առաջին հերթին գրանցել է ակտիվը: Գույքի քանակությունը ոչ բացասական է, այնպես որ դուք երբեք չեք կարող ունենալ $-1.0 ակտիվի կամ այրել բացասական գումար եւ ստանալ mint.
Օգտագործեք լեզվական հատուկ ուղեցույց ՝ Mint blockchain ակտիվների համար.
Ահա այրվող ակտիվների օրինակներ.
Մինետային եւ այրվող թվային ակտիվներ
cargo run --bin iroha -- --config ./defaults/client.toml \
ledger asset mint \
--definition "$ASSET_DEF" \
--account "$ALICE" \
--quantity 100
cargo run --bin iroha -- --config ./defaults/client.toml \
ledger asset burn \
--definition "$ASSET_DEF" \
--account "$ALICE" \
--quantity 10Մինետի եւ այրման սխալի կրկնությունները.
cargo run --bin iroha -- --config ./defaults/client.toml \
ledger trigger mint --id hourly_cleanup --repetitions 5
cargo run --bin iroha -- --config ./defaults/client.toml \
ledger trigger burn --id hourly_cleanup --repetitions 1Փոխանցում
Փոխանցումները փոխանցում են սեփականությունը կամ արժեքը հաշիվների միջեւ: Գնավոր փոխանցման տարբերակները ընդգրկում են դոմեյներ, ակտիվների սահմանումներ, թվային ակտիվներ եւ NFTs: RWA քանակության շարժումը օգտագործում է հատուկ TransferRwa եւ ForceTransferRwa հրահանգները, որոնք նկարագրված են Real-World Assets.
Այս նպատակով պետք է տրվի հաշվետվություն ակտիվների փոխանցման թույլտվություն. Նշենք, թե ինչպես կարող են փոխանցվել ակտիվները CLI կամ Rust.
Թվային ակտիվների փոխանցում.
cargo run --bin iroha -- --config ./defaults/client.toml \
ledger asset transfer \
--definition "$ASSET_DEF" \
--account "$ALICE" \
--to "$BOB" \
--quantity 25Տեղափոխման տիրույթը, ակտիվի սահմանումը եւ NFT սեփականությունը.
cargo run --bin iroha -- --config ./defaults/client.toml \
ledger domain transfer --id docs.universal --from "$ALICE" --to "$BOB"
cargo run --bin iroha -- --config ./defaults/client.toml \
ledger asset definition transfer --id "$ASSET_DEF" --from "$ALICE" --to "$BOB"
cargo run --bin iroha -- --config ./defaults/client.toml \
ledger nft transfer --id 'badge$docs.universal' --from "$ALICE" --to "$BOB"Բնակչական գրավի եւ ակտիվների փակիչներ
Native escrow հրահանգները հաշիվային ակտիվների կողպեքը պահվում են գլխավոր գրքի կառավարվող արձանագրության պահպանման մեջ: Նրանք օգտագործվում են շուկայական ոճի կարգավորման, ընդհանուր ակտիվների կողոպուտների եւ անանուն պաշտպանված հոսքերի համար:
Շուկայի պահպանակների օգտագործումը OpenAssetEscrow, AcceptAssetEscrow, MarkEscrowPaymentSent, ReleaseAssetEscrow, CancelAssetEscrow, OpenEscrowDispute, եւ ResolveEscrowDispute. Գնացական ակտիվների փակման օգտագործումը OpenAssetLock, DrawdownAssetLock, CancelAssetLock, եւ ExpireAssetLock. Anonymous escrow արտացոլում է շուկայական կյանքի ցիկլը OpenAnonymousAssetEscrow, AcceptAnonymousAssetEscrow, MarkAnonymousEscrowPaymentSent, ReleaseAnonymousAssetEscrow, CancelAnonymousAssetEscrow, OpenAnonymousEscrowDispute, եւ ResolveAnonymousEscrowDispute.
Այս ISIs-ները ներկայումս չունեն առաջին դասի CLI հրամաններ: Օգտագործեք տիպված SDK կառուցապատողներ կամ շարականացված հրահանգների օգնական բեռներ, եւ տեսեք Native Asset Escrow ՝ կյանքի ցիկլի մանրամասների, թույլտվությունների, հարցումների, իրադարձությունների եւ Rust օրինակների համար.
Գրանտ/Վերահսկում
Հատկացման եւ վերացման հրահանգները օգտագործվում են հաշիվի թույլտվությունների եւ դերի համար :
Grant օգտագործվում է օգտվողին մշտապես տրամադրելու կամ՛ մեկ թույլտվություն, կամ՛ մի խումբ թույլտվություններ ("ռոլ") ։ տրված դերերը եւ թույլտվությունները կարող են հեռացվել միայն Revoke հրահանգի միջոցով: Այդպիսով, այս հրահանգները պետք է օգտագործվեն զգույշորեն:
Հաշվետու դերակատարություն տրամադրել եւ վերացնել:
cargo run --bin iroha -- --config ./defaults/client.toml \
ledger account role grant --id "$BOB" --role operators
cargo run --bin iroha -- --config ./defaults/client.toml \
ledger account role revoke --id "$BOB" --role operatorsGrant եւ revocate թույլտվությունների տոքեր. թույլտվության հրամանները ընթերցում են թույլտվություն օբյեկտը ստանդարտ մուտքի:
printf '{"name":"CanSetParameters","payload":null}\n' |
cargo run --bin iroha -- --config ./defaults/client.toml \
ledger account permission grant --id "$BOB"
printf '{"name":"CanSetParameters","payload":null}\n' |
cargo run --bin iroha -- --config ./defaults/client.toml \
ledger account permission revoke --id "$BOB"Դասերի համար թույլտվություններ տրամադրել եւ վերացնել.
printf '{"name":"CanRegisterDomain","payload":null}\n' |
cargo run --bin iroha -- --config ./defaults/client.toml \
ledger role permission grant --id operators
printf '{"name":"CanRegisterDomain","payload":null}\n' |
cargo run --bin iroha -- --config ./defaults/client.toml \
ledger role permission revoke --id operatorsSetKeyValue/RemoveKeyValue
Այս հրահանգները թարմացնում են օբյեկտ մետադատա: Օգտագործեք SetKeyValue ՝ մետադատայի մուտք գործելու կամ փոխարինելու համար, եւ RemoveKeyValue ՝ մեկը ջնջելու համար:
Metadata set հրամանները կարդում են JSON արժեքը ստանդարտ մուտքի միջոցով.
printf '"production"\n' |
cargo run --bin iroha -- --config ./defaults/client.toml \
ledger domain meta set --id docs.universal --key environment
cargo run --bin iroha -- --config ./defaults/client.toml \
ledger domain meta remove --id docs.universal --key environmentՆույն ձեւը հասանելի է հաշվետվությունների, ակտիվների սահմանումների, NFTs, RWAs եւ գործարկիչների համար.
printf '{"display_name":"Alice"}\n' |
cargo run --bin iroha -- --config ./defaults/client.toml \
ledger account meta set --id "$ALICE" --key profile
printf '{"issuer":"docs"}\n' |
cargo run --bin iroha -- --config ./defaults/client.toml \
ledger asset definition meta set --id "$ASSET_DEF" --key issuer
printf '{"color":"blue"}\n' |
cargo run --bin iroha -- --config ./defaults/client.toml \
ledger nft meta set --id 'badge$docs.universal' --key traits
printf '{"owner":"ops"}\n' |
cargo run --bin iroha -- --config ./defaults/client.toml \
ledger trigger meta set --id hourly_cleanup --key ownerSetParameter
SetParameter փոխում է ակտիվ տվյալների մոդելի եւ կատարողի կողմից բացահայտված ողջ շղթայի պարամետրերը:
Սահմանեք պարամետր' ստանդարտ մուտքի ժամանակ անցնելով մեկ պարամետրային JSON օբյեկտ.
printf '{"Sumeragi":{"BlockTimeMs":1000}}\n' |
cargo run --bin iroha -- --config ./defaults/client.toml \
ledger parameter setExecuteTrigger
Այս հրահանգը օգտագործվում է գործարկիչների կատարման համար:
CLI-ը կարող է գրանցել գործարկիչները եւ ուղղակիորեն բաժանորդագրվել գործարկման իրադարձություններին: Այն չի տրամադրում տիպված execute trigger հրաման, ուստի պետք է ուղարկի ձեռագիր ExecuteTrigger հրահանգ. Սերիալացված InstructionBox ստեղծում է SDK կամ կատարող գործիքով եւ արդյունաբերված JSON շարքը անցնում ledger transaction stdin:
printf '["<BASE64_EXECUTE_TRIGGER_INSTRUCTION_BOX>"]\n' |
cargo run --bin iroha -- --config ./defaults/client.toml \
ledger transaction stdin
cargo run --bin iroha -- --config ./defaults/client.toml \
ledger events trigger-execute --timeout 30sԱյլ հրահանգներ
Iroha բացատրում է նաեւ վարման ժամանակի եւ կատարողի ինտեգրման համար ավելի ցածր մակարդակի հրահանգները.
Log: իրականացման ընթացքում արձանագրություն թողարկեքCustomInstruction: իրականացնողին հատուկ JSON օգտակար բեռներ տեղափոխել:Upgrade: ակտիվացրեք կատարողի թարմացումը
Պինգի օգնականին Log հրահանգ ուղարկեք.
cargo run --bin iroha -- --config ./defaults/client.toml \
ledger transaction ping --log-level INFO --msg "hello from docs"Ներկայացրեք անհատական կատարողի հրահանգ ՝ որպես սերիալացված InstructionBox: Օգտակար բեռի ձեւը հատուկ է կատարողի համար, այնպես որ առաջադրեք հրահանգը համապատասխանող SDK կամ կատարողի գործիքային սարքավորմամբ.
printf '["<BASE64_CUSTOM_INSTRUCTION_BOX>"]\n' |
cargo run --bin iroha -- --config ./defaults/client.toml \
ledger transaction stdinԲարձրացրեք կատարողը կազմված IVM բայթքոդային ֆայլից.
cargo run --bin iroha -- --config ./defaults/client.toml \
ops executor upgrade --path ./target/ivm/executor.ivm