Skip to content

Арилжаа

Арилжаа нь блокчейн дээр ажлыг гүйцэтгэх гарын үсэг зурсан хүсэлт юм. хэрэгжүүлэх ашигтай ачаалал нь даалгавруудын , гэрээний дуудлага, IVM байткод, эсвэл баталгаажсан IVM гүйцэтгэлийн захиалгаар дараалал байж болно. Одоогийн гэрээний гүйцэтгэх загварын талаар Ухаалаг гэрээ хараарай.

Транзакцын нөхцөл байдлыг өөрчлөх эсвэл гүйцэтгэх ажлыг гүйцэтгэдэг. зөвхөн уншигч шалгалт нь гарын үсэг зурсан асуултууд эсвэл олон нийтийн уншигч төгсгөлийг ашигладаг бөгөөд гүйлгээг бий болгодоггүй.

Зохиогдох блок руу хүлээн зөвшөөрөгдсөн гүйлгээ нь гүйцэтгэлийн үр дүнтэй, түүний дотор гүйцэтгэлийг татгалзахтай хамт хадгалагдана. Блокийн хүлээн зөвшөөрөгдөхээс өмнө татгалзсан хүсэлтийг, жишээлбэл хүчин чадалгүй хуудас эсвэл шуурхайгаас татгалзагдсан гүйлгээ гэх мэт хэсгийн дотор хадгалахгүй.

Хувийн байдлыг хадгалах хөрөнгийн хөдөлгөөний талаар Аноним бүтээн байгуулалтууд-ийг үзнэ үү. Аноним үйл ажиллагаа нь олон нийтийн дансанд орсон тэнцлийн өөрчлөлтийн оронд хамгаалалттай хөрөнгийн тэмдэгт, үүрэг гүйцэтгэгч, хүчингүй болгох болон нуруу мэдлэгийн баталгаа ашигладаг.

Сонгон шалгагдсан ил тод гүйцэтгэх үр нөлөөний талаарх нотлох баримтыг үзнэ үү FastPQ. FastPQ нь үйл ажиллагааны хэвийн гүйцэтгэлээс хойш гүйцэтгэлийн гэрчүүдийг хэрэглэдэг бөгөөд дэмжлэгтэй төрийн шилжилтийн тулд тодорхойлолт шинжлэх ухааны баталгааны цуврал үүсгэдэг.

Taira дээр туршиж үзээрэй.

Эрдэм шинжилгээний чиглэлээр Taira сүүлийн үеийн олон нийтийн блок, гүйлгээний статусыг гарын үсэг зурсан дансгүйгээр хянах боломжтой:

bash
curl -fsS 'https://taira.sora.org/v1/explorer/blocks?page=1&per_page=3' \
  | jq '{pagination, blocks: [.items[] | {height, hash, transactions_total, transactions_rejected}]}'

curl -fsS 'https://taira.sora.org/v1/explorer/transactions?page=1&per_page=5' \
  | jq '{pagination, txs: [.items[] | {hash, block, status, executable}]}'

Таны аппликейшнээс өмнө ирүүлсэн гүйлгээг дагаж мөрдөхийн тулд hash жагсаалтаас нунтаглаж, судлаачын дэлгэрэнгүй замыг шалгаарай:

bash
TX_HASH='<transaction-hash>'

curl -fsS "https://taira.sora.org/v1/explorer/transactions/$TX_HASH" \
  | jq '{hash, block, status, authority, executable}'

Энэ нь одоо ч зөвхөн унших боломжтой. Транзакцийг өргөн мэдүүлэхэд гарын үсэг зурсан Norito хуудас, зөв зангилаа ID, төлбөрийн метадэтгэл болон крантай санхүүжүүлсэн Taira данс шаардлагатай байна.

Төлбөрийн төлбөртэй жишээ Taira, цахилгаан замын тусламжтайгаар Тестнет аваарай XOR цаашид Taira тухайн taira_faucet_claim.py, Дараа нь гарын үсэг зурагчдыг хамгийн түрүүнд олон нийтийн утасны замаар санхүүжүүлнэ:

bash
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"

Тэмцээний цогцолбоор эсвэл нэхэмжлэлийн чиглэл 502 -ийг буцааж өгөөч, гүйлгээний өөрөө засварлахын өмнө дахин туршиж үзээрэй.

Дараа нь гүйлгээг өргөн мэдүүлэхдээ Taira төлбөрийн хөрөнгийн метадэтгэлийг хавсралтаар хангах:

bash
printf '{"gas_asset_id":"%s"}\n' "$TAIRA_FEE_ASSET" > taira.tx-metadata.json

iroha --config ./taira.client.toml \
  --metadata ./taira.tx-metadata.json \
  ledger transaction ping --msg "faucet-funded taira transaction"

Онлайн гүйлгээ

Iroha нь офлайн гүйлгээний хоёр ажлын урсгалтай:

  • Онлайн гарын үсэг зурах нь гарын үсгийн төхөөрөмж буулгангүй байх үед хэвийн гарын үнийн гүйлгээг бий болгодог. Онлайн үйлчлүүлэгчид гарын үүнд гарын үнийг Torii -д хүргэхгүй бол гүйлгээгээг боловсруулахгүй тул түүнд зөв сүлжээ ID, эрх мэдэл, зөвшөөрөл, төлбөр, гүйлгээний хугацаа хэрэгтэй байна.
  • Kagemusha офлайн бэлэн мөнгө нь цахим хэлбэрээр байх хугацаандаа хөрөнгийг дээшлүүлж, хүлээн авагч эхлүүлсэн хөрөнгийн санхүүжилтийг дэмждэг бөгөөд хоёулаа гарын үсэггүй байх хугацаанаар, хүлээн авагчийн онлайнаар буцаж ирэхэд үүний тэмдэглэлийн байдлыг төлдөг.

Torii нь Кагемушагийн бүрэн амьдралын мөрийг /v1/offline/* доор илрүүлнэ:

Хэрэглээ, төгсгөл ньЗорилго
GET /v1/offline/readinessKagemusha-ийн бэлэн байдлыг asset_definition_id үнэлнэ.
POST /v1/offline/receiver-lineageДашрамд бичигдсэн хүлээн авагчийн хүсэлтийг баталгаажуулах идэвхтэй бүртгэлийн сүүлгээ шийднэ
POST /v1/offline/top-upОнлайн-оффлайн нэмэлт оруулах үйл ажиллагааг гарын үсэг зурна
POST /v1/offline/redeemГарын үсэг зурсан офлайн төлбөрийн операцыг өргөн мэдүүлнэ
GET /v1/offline/operations/{operation_id}Үүнд нэмэлт, нөхөн төлбөрийн санхүүгийн байдлыг уншина уу

Ашигт малтмалын бэлэн байдлыг офлайн үйл ажиллагааны бүтээн байгуулалтын өмнө шалгах:

bash
curl -fsS --get https://taira.sora.org/v1/offline/readiness \
  --data-urlencode 'asset_definition_id=<canonical_asset_definition_id>' \
  | jq '{ready, blockers, artifact_set}'

Оюун бэлтгэлтэй байх нь хөрөнгийг идэвхтэй гүүртэй холбодог ABI 21 болон баталгаажуулсан V4 Артефактын цуврал, нэмэлт хувилбар болон чөлөөлөх хүсэлтийн хэрэглээ нь application/x-norito Архив, нөхөн сэргээлт болон төлбөрийн хариу 202 Accepted а Location үйл ажиллагааны эх үүсвэрийг зааж байгаа цөм; нунтаг бус үйлдлийг бүрдүүлсэн ID Энэ нь тусгаар тогтнолын түлхүүрг хангадаг.

Тухайн урсгал нь:

  1. ready нь худал эсвэл ямар нэгэн бөмбөгч хэрэглэгддэг бол бэлэн байдлыг шалгаж, зогсоож болно.
  2. Swift эсвэл JVM товчлосон халамж ашиглан санхүүгийн нэмэлт архивын бүтээн байгуулалтыг хийж, түүнийг хүргэж, үйл ажиллагаа эцсийн сүлжээний байдалд хүрэх хүртэл нэвтрүүлэх тэмдэглэлийн байдал болон үйл ажиллагаа ID хоёрыг хадгалах болно.
  3. Шаардлагатай бол хүлээн авагчийн бүртгэлийн сүлжээг шийдэж, харилцагчдын дамжуулалт нь орон нутгийн хувьд бүтээн байгуулалт хийгээд шалгаж, шифрлэсэн тэмдэглэлийн нөхцөл байдлыг хүлээн зөвшөөрөхөөс өмнө хэвээр үлдээнэ.
  4. Хөрөнгө авдагч онлайнаар байх үедээ Canonical Redemption архив барьж, хүргүүлээд, үйл ажиллагаагаа явуулах нөөцийг эцсийн байдлаар шалгаж үзээрэй.

Онлайн амьдралын мөрийн явцад тэмдэглэлийн байдал эргэн ирэх хүртэл гарын үсэгт харилцан зөрчилдсөн офлайн дамжуулалт ажиглах боломжгүй. Тиймээс хөрөнгийн болон операторын бодлого нь үнэ цэнэ хязгаарлалт, хугацаа дууссан хугацаа, хүлээн зөвшөөрөгдсөн эмитент, тогтвортой орон нутгийн хадгаламж, тохиролцооны ширээг хэрэглэх ёстой.

Энэ бол шинэ бүтээн байгуулалтыг бий болгох жишээ юм Grant Энэ бүтээн байгуулалтаар Маус Алис-д тодорхойлох үүргийг олгож байна (role_idТэтгэлэг бүрэн жишээ.

rust
let grant_role = Grant::account_role(role_id, alice_id);
let grant_role_tx = TransactionBuilder::new(chain_id, mouse_id)
    .with_instructions([grant_role])
    .sign(mouse_private_key);