Аҡыллы килешеүҙәр
Iroha операциялар үтәү Executable файҙалы йөкләмәләр. хәҙерге мәғлүмәттәр моделе хуплай:
Executable::Instructions: Iroha Махсус инструкцияларҙың тәртипле йыйылмаһыExecutable::ContractCall: ҡулланылған килешеү экземплярҙағы өҫтәмә һылтанма саҡырыуыExecutable::Ivm: Iroha VM байткодыExecutable::IvmProved: Iroha VM байт коды, алдан иҫәпләнгән инструкция менән ҡаплау һәм иҫбатлау йөкләмәләре
Kotodama — Iroha-ның юғары кимәлле смарт-контракт теле. .ko сығанаҡ файлы детерминистик IVM байт-кодына компиляциялана һәм урынлаштырыу өсөн ғәҙәттә .to артефакты итеп һаҡлана. Kotodama тик IVM өсөн тәғәйенләнгән. Ул RISC-V йәки WebAssembly өсөн тәғәйенләнмәгән.
Беренсе сығарылыш тик ABI-ҙың 1-се версияһын хуплай. syscall һәм pointer-ABI сәйәсәте килешеүҙе ҡабул итеү һәм үтәү ваҡытында шартһыҙ ҡулланыла; эшләү ваҡытында ярашлылыҡты күсергес юҡ.
Аҡыллы килешеүҙәрҙе ҡасан ҡулланырға?
Транзакцияны туранан-тура белдерергә мөмкин булған осраҡта ғәҙәти күрһәтмәләрҙе ҡулланығыҙ:
- теркәлгән йәки теркәлмәгән объекттар
- Мунт, янған йәки күсерелгән активтар
- метамәғлүмәттәрҙе яңыртыу
- рөхсәт биреү йәки уны кире ҡағыу
- ҡуҙғатыуҙы үтәү
- Сылбырҙағы параметрҙарҙы ҡуйыу
Смарт контрактты ҡулланығыҙ, әгәр транзакцияға пакетталған логика кәрәк, уны статик инструкция эҙмә-эҙлекле итеп белдереү ҡыйын, йәки әгәр индерелгән контракт экземплярын референс буйынса саҡырырға кәрәк.
IVM Эксплуатацияланған
Executable::Ivm сыма IVM байткодты йөрөтә. Нодтар был байткодыны сылбыр өсөн конфигурацияланған йүгереү ваҡыты сиктәре эсендә башҡара. Байткод бәләкәй һәм детерминистик булып ҡала; контракттар транзакция үтәлешенең бер өлөшө булып тора һәм шуға күрә консенсусҡа йоғонто яһай.
Executable::IvmProved - иҫбатлаулы ағымдар өсөн тәғәйенләнгән.
- IVM байткоды
- детерминистик инструкция ҡатламы
- ғәмәлгә ашырыу ваҡиғалары йөкләмәһе
- газ сәйәсәте буйынса йөкләмә
Документ үтәлгән байт-кодҡа бәйләй. үткәргес ҡағиҙәләренә ҡарап, валидаторҙар иҫбатлауҙы раҫлай һәм өҫтәмә хәүефһеҙлек контроле сифатында башҡарыуҙы ҡабатлай.
Контрактлы шылтыратыуҙар
Executable::ContractCall ҡулланылған килешеү экземпляр адресы буйынса саҡыра. был ҡулланма контракт коды айырым теркәлгән ваҡытта һәм транзакциялар һәр тапҡыр байт-код менән йөрөтөү урынына, уны референс аша саҡырырға тейеш була.
Операция буйынса күрһәтмәләр
- Контракттарҙы детерминистик һаҡлағыҙ. Контракт тәртибе локаль стена сәғәтенә, хост файлдар системаһының торошона, селтәрҙәге шылтыратыуҙарға йәки башҡа урындағы бер-береһенә инеүҙәргә бәйле булмаҫҡа тейеш.
- Яҡшы йөкләмәләрҙе компакт килеш һаҡлағыҙ. ҙур байткод транзакция күләмен һәм блоктар таралыу сығымдарын арттыра.
- Леджорҙа ябай үҙгәрештәр өсөн яҙыу буйынса күрһәтмәләр өҫтөнлөк итә, уларҙы тикшереү еңелерәк һәм үтәү арзаныраҡ.
- Контрактты яңыртыу һәм теркәлеү рөхсәттәре юғары хәүефле оператив контролдәр тип иҫәпләнә.
Шулай уҡ ҡарағыҙ: