Транзакциялар
Транзакция - блокчейн өҫтөндә эш башҡарыу өсөн ҡул ҡуйылған үтенесе. Башҡара торған файҙалы йөкләмә күрһәтмәләренең , килешеү саҡырыуы, IVM байткоды йәки иҫбатланған IVM үтәлеше булыуы мөмкин. Хәҙерге килешеү үтәлеше моделе өсөн Аҡыллы килешеүҙәр ҡара.
Транзакциялар дәүләтте үҙгәртеү йәки башҡарыла торған эш башҡара. Уҡыу-ул ғына тикшереү ҡул ҡуйылған һорауҙарҙы йә асыҡ уҡыу тамамлау пункттарын файҙалана һәм транзакция тыуҙырмай.
Ҡатнашылған блокҡа ҡабул ителгән транзакция уның башҡарыу һөҙөмтәһе менән бергә һаҡлана, шул иҫәптән башҡарыуҙан баш тартҡан. Блокҡа инеү алдынан кире ҡағылған ғаризалар, мәҫәлән, ғәмәлһеҙ конверт йәки сираттан баш тартҡан транзакция блокта һаҡланмай.
Хосусилыҡты һаҡлаусы активтар хәрәкәте өсөн ҡарағыҙ Аноним транзакциялар. Аноним операциялар асыҡ иҫәп-хисап балансында үҙгәрештәр урынына һаҡланған активтар, йөкләмәләр, ғәмәлдән сығарыусылар һәм нуль-белем иҫбатлауҙар ҡулланыла.
Һайланған үтә күренмәле башҡарыу эффекттары тураһында иҫбатлау дәлилдәре өсөн ҡарағыҙ FastPQ. FastPQ ғәҙәти транзакция башҡарғандан һуң ғәмәлгә ашырыу шаһиттарын ҡуллана һәм тәьмин ителгән дәүләт күсеүҙәре өсөн детерминистик иҫбатлау партияларын төҙөй.
Taira менән һынап ҡарағыҙ.
Тикшереүсе маршруттарын ҡулланып, һуңғы асыҡ Taira блоктарҙы һәм транзакциялар статусын имзалаусы иҫәп-хисапһыҙ тикшерергә кәрәк:
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 күсерә һәм эҙләүсе маршрутын ентекләп тикшерә:
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 буйынса түләүле миҫалдар өсөн, кран ярҙамсыһын тан һаҡлағыҙ. Taira буйынса Testnet XOR ты taira_faucet_claim.py итеп алығыҙ, һуңынан беренсе булып дәүләт кран аша ҡултамға биреүсегә аҡса түләгеҙ:
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 түләү активының метамәғлүмәттәре ҡушыла:
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, вәкәләт, рөхсәт, түләүҙәр һәм транзакция ғүмерлеге кәрәк була.
- Кагемуша офлайн аҡсаһы онлайн булған саҡта букмекерҙы өҫтөбөҙгә һала, ике портфель дә офлайнда булғанда ҡабул итеүсе ҡуҙғатып ебәргән букмеке-букмеке тапшырыуҙарын хуплай һәм алыусының интернетҡа ҡайтҡанда килеп сыҡҡан хаттың хәлен ҡайтарып ала.
Torii Кагемушаның бөтә йәшәү циклын /v1/offline/* аҫтында асыҡлай:
| Метод һәм маҡсат | Маҡсат |
|---|---|
GET /v1/offline/readiness | asset_definition_id өсөн Kagemusha әҙерлеген баһалау |
POST /v1/offline/receiver-lineage | Ҡул ҡуйылған ҡабул итеүсе ғаризаһы өсөн иҫбатлаулы актив теркәлеү ырыуыны хәл итергә |
POST /v1/offline/top-up | Ҡул ҡуйылған онлайн-оффлайн өҫтәмә операцияһын тапшырығыҙ |
POST /v1/offline/redeem | Ҡул ҡуйылған офлайн түләтеү операцияһын тапшырығыҙ |
GET /v1/offline/operations/{operation_id} | Өҫтәмә йәки түләтеүҙең канон статусын уҡығыҙ |
Оффлайн операция төҙөгәнсе активтың әҙерлеген тикшерегеҙ:
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 operation ресурсына йүнәлтелгән башлыҡ; встроенная не нулевая операция ID Идемпотенция асҡысын бирә.
Типтик ағымы:
- Әгәр
readyялған йәки ниндәй ҙә булһа блоктар ҡулланылған икән, әҙерлек һәм туҡтатыу тураһында һорағыҙ. - Тип менән яҙыу Swift йәки JVM аҡса янсығы ҡануниаль өҫтәмә архив төҙөү, уны тапшырыу һәм инеү нотаһы торошон һәм эш итеүҙе һаҡларға ID Операция һуңғы хәлгә килеп еткәнсе.
- Әгәр кәрәк булһа, ҡабул итеүсе теркәлеү ырыуы хәл итегеҙ, һәр бер-береһе менән тапшырыуҙы локаль рәүештә төҙөгөҙ һәм тикшерегеҙ һәм күсереүҙе таныр алдынан шифрланған яҙма торошон дауам итегеҙ.
- Ҡабул итеүсе интернетта булғанда, ҡануни азатлыҡ архивын төҙөгөҙ, уны тапшырығыҙ һәм уның операцион ресурсын йомғаҡлау өсөн һорау алығыҙ.
Интернет селтәрендә иҫәп-хисап ҡағыҙҙары һәм операторҙар сәйәсәте ҡиммәт сикләүҙәрен, ваҡытын тамамлауҙы, ҡабул ителгән эмитенттарҙы, оҙайлы урындағы һаҡлауҙы һәм татыулаштырыу тәҙрәләрен үтәргә тейеш.
Бында яңы транзакция булдырыу миҫалы Grant Инструкция. был транзакцияла Мыс Алисаға билдәләнгән роль бирә (role_idТейешле. тулы миҫал.
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);