Iroha Ардчилсан заавар
Бид тухайгаа ярьж байхдаа хэрхэн Iroha үйл ажиллагаа явуулдаг, Бид үүнийг хэлсэн. Iroha Дэлхийн оршин тогтнолыг өөрчлөх цорын ганц арга бол тусгай тушаал. Хэрэв та энэ сургалтын хэлний талаарх удирдамжийг уншсан бол Та аль хэдийн хэд хэдэн удирдамжийг харсан: Register<Account> болон Mint<Numeric>.
Iroha тусгай заавар бичгийн бүрэн жагсаалтыг хүргэж байна:
| Сургалтын | Тодруулбал |
|---|---|
| бүртгэл / бүртгэлээс татгалзах | ID нь блокчейн дээр шинэ этгээдэд өгөх. |
| Mint/Burn | Mint/burn санхүүгийн хөрөнгө эсвэл сэргээлтийг үүсгүүлэх. |
| SetKeyValue/RemoveKeyValue | Блокчейн объектын мета өгөгдлийг шинэчлээрэй. |
| SetParameter | Захиргааны өргөн хэсгийг байлгаарай. |
| олгох/сэргээх | Тусгай зөвшөөрөл, үүрэг олгох эсвэл арилгах. |
| шилжүүлэн суулгах | Ашигт малтмалын эзэмшлийн болон хөрөнгийн үнэ цэнийг шилжүүлнэ. |
| Үндэсний хадгаламж болон хөрөнгийн хаалгалтын | Санхүүгийн эд хөрөнгийг протоколын хяналтад байлгах. |
| ExecuteTrigger | Хөгжүүлэгчийг гүйцэтгэнэ. |
| Хөгжлийн тэмдэглэл/Хүнзэт хэрэглээ/Үндэсний шинэчлэл | Хөгжлийн явцыг тэмдэглэх, өргөжүүлэх, шинэчлэх. |
Бид Iroha тусгай заалын товчлоор эхэлж үзье. Сургалтын бүрдүүлэхэд ямар объектыг дуудлах боломжтой вэ, болон тухайн объектт зориулсан ямар заавар авах боломжтой вэ
Тодорхойлолт
Тухайлбал, шилжүүлэн суулгах хэлбэрүүд нь эзэмшдэг номын сангийн эд зүйл болон тооны хөрөнгөг хамардаг бол монтажлага нь тооны хөрөнгийг хамардаг бөгөөд дахин давтагдалыг үүсгэдэг.
Зарим даалгаврыг тодорхойлох шаардлагатай. Жишээ нь, хөрөнгийг шилжүүлэн өгөөч бол үргэлж ямар дансанд шилжүүлж байгаагаа тодорхойлох хэрэгтэй. Өөрөөр хэлбэл, та ямар нэгэн зүйлийг бүртгүүлэхэд зөвхөн тухайн зүйл л хэрэгтэй болно.
| Сургалтын | Бүтээгдэхүүн | Зочид буудлага |
|---|---|---|
| EnsureAlias | Энгийн домен, мэдээллийн орон зай болон бүртгэлийн нууц товчлолтын | |
| бүртгэл / бүртгэлээс татгалзах | нягтлан бодох бүртгэл, хөрөнгийн тодорхойлолт, NFTs, үүрэг гүйцэтгэх хүчин зүйлүүд, ижил төстэй зүйлс; доменийг устгах | |
| Mint/Burn | Санхүүгийн хөрөнгө, сэргээлт үйлдэл | бүртгэл эсвэл үүсгэгчид |
| SetKeyValue/RemoveKeyValue | метэдэйтэйлүүд: домен, нягтлан бодох бүртгэл, хөрөнгийн тодорхойлолт, NFTs, RWAs, үүсгэгч | |
| SetParameter | сүлжээний параметр | |
| олгох/сэргээх | үүрэг, зөвшөөрлийн тэмдэгүүд | нягтлан бодох бүртгэл, үүрэг |
| шилжүүлэн суулгах | доменүүд, хөрөнгийн тодорхойлолтууд, тооны хөрөнгө NFTs | бүртгэл |
| Үндэсний хадгаламж болон хөрөнгийн хаалгалтын | санхүүгийн хөрөнгийн хадгаламж, хөрөнгийн хаалгалт, нууцлагдсан хадгаламжийн үүрэг | худалдан авагчид, чиглэлүүд эсвэл маргаан хуваагдал |
| ExecuteTrigger | хөдөлгөөнч . | |
| Хөгжлийн тэмдэглэл/Хүнзэт хэрэглээ/Үндэсний шинэчлэл | бүртгэл, гүйцэтгэгчд зориулсан ашиг ачаалал, гүйцэтгэхчийн шинэчлэл |
Түүнчлэн ISI -ийг харахад өөр нэг арга байдаг, тэдгээрийн холбогдох томоохон бүртгэлийн объект:
| Зорилго . | Судалгаа |
|---|---|
| Санхүүжилт | бүртгэл / бүртгэлээс татгалзсан нягтлан бодох бүртгэл, хүлээн авах хөрөнгийн санхүүжилт, дансны шинэчлэл, зөвшөөрөл олгох/сэргээх болон үүрэг гүйцэтгэх . |
| Домен | Доменийг байгуулж, доменийг бүртгэхгүй болгох, доменийн эзэмшилд шилжүүлэх, доменын метадэтгэлийг шинэчлэх. |
| Ашигт малтмалын тодорхойлох | бүртгэл / бүртгэлээс татгалзсан тодорхойлолт, эзэмшлийн шилжүүлэн суулгах, шинэчилсэн метадэтгэл |
| Байгууллага | Mint/burn тооны хэмжээ, санхүүжилтийн тооны хэмжээ |
| Хөрөнгө оруулалт | нээж, хүлээн зөвшөөрөх, төлбөрийг тэмдэглэх, чөлөөлөх, хүчингүй болгох, маргааныг шийдвэрлэх, арилгах, эсвэл эх сурвалжийн хяналтын баримтыг дуусгах. |
| NFT | бүртгэл / бүртгэлээс татгалз NFTs, эзэмшилд шилжүүлэн суулгах, шинэчлэх метадэтгэл |
| RWA | бүрэлдэхүүнийг бүртгүүлэх, нэвтрүүлгийн тоо хэмжээ, хадгалах/жуулгах, хүйцлэх/хүйцлэх, төлөх, нэгтгэх, метадэтгэлийг шинэчлэн тогтоох, хяналтын |
| Триггер | бүртгүүлэх/ашиглах, Mint/burn trigger-ийн давтамжууд, гүйцэтгэх trigger, шинэчлэх trigger-ний метадэтгэл |
| Дэлхий | бүртгүүлэх / бүртгэлээс татгалзсан өрсөлдөөн, үүрэг, параметр тогтоох, гүйцэтгэгч шинэчлэх |
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>"Олон нийтийг чиглэсэн үед Taira шинжилгээний сүлжээ, Taira Хэрэглэгчийн конфигурац. Төлбөр төлөх жишээг ашиглахаас өмнө, Тестнет аваарай XOR цаашид Taira тухайн taira_faucet_claim.py, цаашлаад шалгалтын сүлжээ 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Зохиол, төлөвлөгөө нь нууцгүй боловч алхамны тэмдэгт хэрэглэж, тохируулсан данстай энгийн гүйлгээг хүргэж байна. Тус төлөвлөгөө нь зангилаа, эрх мэдэлээ, амьд оршин тогтногчдын байр сууриа, эцсийн хугацаатай холбоотой; хэзээ ч өөр сүлжээнд дахин хэрэглэхгүй.
(Үндэсний) бүртгэл
Блокчейн дээр шинэ байгууллагад ID олгох чиглэлээр бүртгэл хийх, бүртгэхгүй байх нь заавар хэрэглэдэг байна.
Бүх зүйл бүртгэгдэх нь хоёулаа Registrable болон Identifiable, Гэхдээ энэ бүх зүйл биш Identifiable Энэ нь Registrable. Ихэнх зүйл шууд бүртгэгддэг боловч зарим тохиолдолд блокчейн дахь төлөөлөл нь их хэмжээний мэдээлэлтэй байдаг. Аюулгүй байдал, гүйцэтгэлийн шалтгааны улмаас бид эдгээр мэдээллийн бүтэцүүдэд "Builders" ашигладаг (гэхдээ: NewAccount), хамтарсан бүртгэл нь өөрийн гэсэн эзэмшлийн баталгааны заавартай байдаг. Ер нь бүртгүүлэх боломжтой бүх зүйл ч бүртгэлгүй байж болно, гэхдээ энэ бол хатуу, хурдан дүрэм биш.
Та данс, хөрөнгийн тодорхойлолт, NFTs, дундаж, үүрэг, түлхэцүүдийг бүртгэж болно. Доменийн тохируулалт EnsureAlias ашигладаг; түүхий эд Register::Domain ашиг ачааллыг генезис / буутстрап хийхэд тусгажээ. Дундаж бүртгэл нь 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 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Мунт, галзуугийн үрэвслийн давтагдал:
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"Үндэсний хадгаламж, хөрөнгийн гулгалт
Үндэсний хадгаламжийн заавар санхүүгийн хөрөнгийг номоор хяналтын протоколын хяналтад байлгадаг. Тэд зах зээлийн хэв маягтай зохицуулалт, нийтлэг хөрөнгийн хаалгуулах, нууцлан хамгаалалттай хадгаламж урсгалд ашиглагддаг.
Зах зээлийн хадгаламжийн хэрэглээ OpenAssetEscrow, AcceptAssetEscrow, MarkEscrowPaymentSent, ReleaseAssetEscrow, CancelAssetEscrow, OpenEscrowDispute, болон ResolveEscrowDispute. Ашигт малтмалын нууцлал ашиглах OpenAssetLock, DrawdownAssetLock, CancelAssetLock, болон ExpireAssetLock. Үндэсний зах зээлийн амьдралын эргэлтийг тодорхойлох OpenAnonymousAssetEscrow, AcceptAnonymousAssetEscrow, MarkAnonymousEscrowPaymentSent, ReleaseAnonymousAssetEscrow, CancelAnonymousAssetEscrow, OpenAnonymousEscrowDispute, болон ResolveAnonymousEscrowDispute.
Эдгээр ISIs одоогийн байдлаар нэгдүгээр ангитай биш CLI тушаалуудыг ашиглах 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 stdinIVM байт кодын файлын гүйцэтгэгчдээс шинэчлэл:
cargo run --bin iroha -- --config ./defaults/client.toml \
ops executor upgrade --path ./target/ivm/executor.ivm