Iroha სპეციალური ინსტრუქციები
როდესაც ჩვენ ვისაუბრეთ როგორ Iroha ოპერირებს, ვთქვით, რომ Iroha სპეციალიზებული ინსტრუქციები არის ერთადერთი გზა მსოფლიო სახელმწიფოს შეცვლისთვის. რა სახის სპეციალური ინსტრუქციები გვაქვს? თუ წაიკითხეთ ენის სპეციფიკური სახელმძღვანელოები ამ გაკვეთილში, თქვენ უკვე ნახეთ რამდენიმე ინსტრუქცია: Register<Account> და Mint<Numeric>.
Iroha სპეციალური ინსტრუქციის სრული ჩამონათვალი:
| ინსტრუქცია | აღწერილობა |
|---|---|
| რეგისტრაცია/გადარეგისტრირება | გადმოეცით ID ახალ ეთენტს ბლოკჩეინზე. |
| მინა/ბერნი | Mint/burn ციფრული აქტივები ან გააქტიურება განმეორებები. |
| SetKeyValue/RemoveKeyValue | ბლოკჩეინ-ს ობიექტების მეტა მონაცემები განახლება. |
| SetParameter | აწესრიგეთ ქსელის ფართო პარამეტრი. |
| დაფინანსება/გამოწვევა | მისცეს ან ამოიღოს ნებართვები და როლები. |
| გადაცემა | გადარიცხვა საკუთრების ან აქტივების ღირებულების. |
| ნაციონალური საფინანსო და აქტივების ჩაკეტვა | ნომერული აქტივების ჩაკეტვა პროტოკოლით. |
| ExecuteTrigger | ვ თჱდლვზექ ჟრანთრვ. |
| რეგისტრაცია/ჩვეულებრივი წესები/განახლება | ჟანრი, გაგრძელება ან განახლება runtime ქცევა. |
დავიწყოთ Iroha სპეციალური ინსტრუქციების შეჯამებით; რა ობიექტები შეიძლება მოითხოვოს თითოეული ინსტრუქცია და რა ინსტრუქციის ხელმისაწვდომია თითოეულ ობიექტისთვის.
შეჯამება
თითოეული ინსტრუქციისათვის არსებობს ობიექტების ჩამონათვალი, რომელზეც ეს ინსტრუქცია შეიძლება შესრულდეს. მაგალითად, გადაცემის ვარიანტები მოიცავს საკუთრებაში არსებულ ლიდერის ობიექტებსა და ციფრულ აქტივებს, ხოლო მონტირება მოიცავს ციფრული აქტივებს და იწვევს განმეორებას.
ზოგიერთი ინსტრუქცია მოითხოვს დანიშნულების მითითებას. მაგალითად, თუ აქტივები გადარიცხავთ, ყოველთვის უნდა მიუთითოთ, რომელ ანგარიშზე გადარიცხავენ ისინი. მეორე მხრივ, როდესაც რაღაცას რეგისტრირებთ, მხოლოდ ის ობიექტი გჭირდებათ, რომელიც გსურთ რეგისტრაცია.
| ინსტრუქცია | ობიექტები | დანიშნულება |
|---|---|---|
| EnsureAlias | ჩვეულებრივი დომენი, მონაცემთა სივრცის ანალიზი და ანგარიშის ანალიზის აწყობა | |
| რეგისტრაცია/გადარეგისტრირება | ანგარიშები, აქტივების განსაზღვრება, NFTs, როლები, მატჩები, თანატოლები; დომენის მოხსნა | |
| მინა/ბერნი | ციფრული აქტივები, გააქტიურება განმეორებები | ანგარიშები ან გამომწვევები |
| SetKeyValue/RemoveKeyValue | ობიექტები, რომლებსაც აქვთ მეტodata: დომენები, ანგარიშები, აქტივების განმარტებები, NFTs, RWAs, გამომწვევი | |
| SetParameter | ქსელის პარამეტრები | |
| დაფინანსება/გამოწვევა | როლები, ნებართვის ნიშნები | ანგარიშები ან როლები |
| გადაცემა | დომენები, აქტივების განმარტებები, ციფრული აქტივები, NFTs | ანგარიშები |
| ნაციონალური საფინანსო და აქტივების ჩაკეტვა | ნომერული აქტივების დაფარვა, აქტივების ჩაკეტვა, ანონიმური დაფარვის ვალდებულებები | მყიდველები, მიმართულებები ან სადავო განხეთქილება |
| ExecuteTrigger | ტრიგერები | |
| რეგისტრაცია/ჩვეულებრივი წესები/განახლება | ჩანაწერები, აღსრულების სპეციფიკური სასარგებლო ტვირთები, აღმასრულებელი განახლება |
ასევე არსებობს ISI -ის შესწავლის სხვა გზა, მათ მიერ შეხების მთავარობის ობიექტის მიხედვით:
| მიზანი | ინსტრუქცია |
|---|---|
| ანგარიში | ანგარიშების რეგისტრაცია/გადარეგისტრირება, აქტივების მიღება, ანგარიშის განახლების მეტა მონაცემები, ნებართვის მინიჭება/მოხსნა და როლები |
| დომენი | უზრუნველყოს დომენის დაყენება, არარეგისტრირდეს დომენები, გადაიტანოს დომენის მფლობელობა, განაახლოს დომენის მეტა მონაცემები |
| აქტივების განსაზღვრა | რეგისტრაციის/რეგისტრაციის გაუქმების განმარტებები, საკუთრების გადაცემა, მეტადატატის განახლება |
| აქტივები | ნომერული რაოდენობა, გადაცემის რაოდენობა |
| საფინანსო | გახსნა, მიღება, გადახდის აღნიშვნა გამოგზავნილი, გათავისუფლება, გაუქმება, დავები, გადაწყვეტა, ჩამოტვირთვა ან ამოწურულია მშობლიური აღკვეთის დოკუმენტები |
| NFT | რეგისტრაცია/გადარეგისტრირება NFTs, საკუთრების გადაცემა, მეტადატობის განახლება |
| RWA | რეგისტრაცია პარტიების, გადაცემის რაოდენობა, შენახვა/გადაშვება, გაყინვა/გაყინვის გაუქმება, შეძენა, გაერთიანება, მეტა მონაცემების განახლება და კონტროლი |
| ტრიგერი | რეგისტრაცია/გადარეგისტრირება, მეტყველების განმეორება/დამწვრობა, განხორციელება, განახლება. |
| მსოფლიო | რეგისტრირება/რეგისტრირების გაუქმება თანატოლებისა და როლების, პარამეტრების დადგენა, აღმასრულებლის განახლება |
CLI მაგალითები
ამ გვერდზე მოცემული მაგალითები ითვალისწინებს, რომ თქვენ აწარმოებთ ბრძანებებს upstream 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>"საჯარო Taira ტესტნეტის მიმართვისას გამოიყენეთ Taira კლიენტის კონფიგურაცია. გადასახადის გადახდის მაგალითების ჩატარებამდე, შეინახეთ ქვაბის დამხმარე გან. მიიღეთ Testnet XOR Taira როგორც taira_faucet_claim.py, შემდეგ მოითხოვეთ testnet XOR ქვაბიდან:
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 (კერძოდ, შეიცავს თუ არა თქვენ რეგისტრაცია ნებართვის ნიშნები), პროცესი ანგარიშის რეგისტრაციის შეიძლება იყოს ძალიან განსხვავებული. ზოგადად, ჩვენ შეგვიძლია შევაჯამოთ იგი ასე:
- საჯარო ბლოკჩეინში, ნებისმიერ ადამიანს უნდა შეეძლოს ანგარიშის რეგისტრაცია.
- კერძო ბლოკჩეინში შეიძლება არსებობდეს ანგარიშების რეგისტრაციის უნიკალური პროცესი. ჩვეულებრივ კერძო blockchain-ში, ანუ ბლოკშეინში, სადაც არ არსებობს რაიმე უნიკალური პროცესები ანგარიშების დარეგისტრირებისთვის, საჭიროა ანგარიში სხვა ანგარიშის რეგისტრაციისთვის.
ჩვენ ვსაუბრობთ ამ განსხვავებების შესახებ ძალიან დეტალურად, როდესაც შევადარებთ კერძო და საჯარო ბლოკჩეინებს .
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 operatorsრეგისტრირება და არარეგისტრირების გამომწვევი. გამოშვების რეგისტრაციისთვის საჭიროა ან შედგენილი IVM ბაიტო კოდი, ან სერიალიზებული ინსტრუქციის სია. ეს მაგალითი აშენებს Log ინსტრუქციას CLI-ით და მიჰყავს მას გამომწვევი რეგისტრაციაში.
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.
გამოიყენეთ ენის სპეციფიკური სახელმძღვანელო ბლოკჩეინის აქტივებისთვის:
აქ მოცემულია ქონების დამწვარი მაგალითები:
ნომერული აქტივები:
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ტრიგერების განმეორება mint და burn:
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 ინსტრუქციებს, რომლებიც აღწერილია რეალური სამყაროს აქტივებში .
ამისათვის, ანგარიშსწორება უნდა გაიწიოს აქტივების გადაცემის ნებართვა. მიუთითეთ მაგალითზე, თუ როგორ უნდა გადაიხადოს აქტივები 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 და Asset Lock-ები
Native escrow instructions lock numeric assets in ledger-managed protocol custody. ისინი გამოიყენება ბაზრის სტილის დაფარვისთვის, ზოგადი აქტივების საკეტებისთვის და ანონიმური დაცული escrow ნაკადებისათვის.
საბაზრო საფარდების გამოყენება OpenAssetEscrow, AcceptAssetEscrow, MarkEscrowPaymentSent, ReleaseAssetEscrow, CancelAssetEscrow, OpenEscrowDispute, და ResolveEscrowDispute. ზოგადი აქტივების ჩაკეტვის გამოყენება OpenAssetLock, DrawdownAssetLock, CancelAssetLock, და ExpireAssetLock. Anonymous escrow ასახავს ბაზრის სიცოცხლის ციკლს OpenAnonymousAssetEscrow, AcceptAnonymousAssetEscrow, MarkAnonymousEscrowPaymentSent, ReleaseAnonymousAssetEscrow, CancelAnonymousAssetEscrow, OpenAnonymousEscrowDispute, და ResolveAnonymousEscrowDispute.
ესენი ISIs ამჟამად არ აქვს პირველი კლასის CLI ბრძანებები. გამოიყენეთ typed SDK მშენებლები ან სერიალიზებული ინსტრუქციის სასარგებლო ტვირთები, და იხილეთ ნაციონალური აქტივების დაფარვა სიცოცხლის ციკლის დეტალების, ნებართვების, გამოკითხვების, მოვლენებისათვის და 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 operatorsნებართვების მინიჭება და გაუქმება. ნებართვის ბრძანებები კითხულობს ნებართვების ობიექტს სტანდარტული შეყვანისგან:
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