WavesKit - чаҳорчӯбаи PHP барои кор бо блокчейни Waves

Ман онро дӯст медорам PHP барои суръати рушд ва интиқоли аъло. Ин хеле хуб аст, вақте ки шумо ҳамеша дар ҷайбатон асбобе доред, ки барои ҳалли мушкилот омода аст.

Вақте ки ҳангоми шиносоӣ бо blockchain ватанӣ хеле шармовар буд Платформаи мавҷҳо вай дар арсенали худ як PHP SDK-и тайёр надошт. Бале, ман бояд онро нависам.

Дар аввал ман бояд истифода кунам гиреҳҳо барои имзо кардани муомилот. Инак, барои идора кардани се адрес се гирех ба кор андохтан лозим буд... Ин манзараи аламовар буд, гарчанде ки баъзе масъалахоро хал мекард. То он даме, ки фаҳмиш пайдо шуд, ки такя ба гиреҳҳо як сарбаста буд. Аввалан, аз сабаби маҳдуд будани функсия API, дуюм, аз сабаби суръат (дар он рузхо гиреххо хеле суст буданд).

Ман ду кори мувозӣ оғоз кардам. Яке аз онҳо сохтани муҳаққиқи blockchain аст, ки зуд ва комилан аз гиреҳи API мустақил бошад. Дуюм ин аст, ки ҳама функсияҳо барои кор бо Платформаи Waves дар як ҷо ҷамъоварӣ карда шаванд. Ҳамин тавр лоиҳаҳо пайдо шуданд w8io и WavesKit.

Қадами аввалин дар паси парда блокчейни Waves буд браузери w8io. Ин осон набуд, аммо мо ба ҳар ҳол тавонистем ҳисобҳои мустақили ҳамаи тавозунҳоро нависем ва ҳатто дар ҳисобҳо дар гиреҳҳои аслӣ хато пайдо кунем (барномаи bug-bounty Дар омади гап, ин барои онҳо кор мекунад, онҳо барои хатогиҳои ёфтшуда пардохт мекунанд). Шумо метавонед дар бораи функсияҳои браузери w8io дар ин мавзӯъ маълумоти бештар гиред: https://forum.wavesplatform.com/t/w8io-waves-explorer-based-on-php-sqlite

Ҳангоми кор дар w8io, ман аллакай шубҳа доштам, аммо вақте ки кор ба анҷоми мантиқӣ расид ва ман ба эҷоди SDK шурӯъ кардам, шубҳаҳои ман тасдиқ карда шуданд. Ман дар ягон ҷо баъзе вазифаҳоро ёфта натавонистам, аз ҷумла муҳимтарин вазифаҳои криптографӣ. Баъд ман аз сохтани хишти худам барои таҳкурсӣ оғоз кардам. Ин аст, ки онҳо таваллуд шудаанд: ABCode барои рамзгузорӣ ба base58 (воқеан барои рамзгузории ҳар як алифбо ба ҳама), Курсӣ25519 эҷод ва тафтиши имзоҳои мувофиқ (бо имконоти дар стероидҳо), Блейк2б барои ҳисоб кардани яке аз хэшҳо (ки танҳо аз PHP 7.2 дастрас буд) ва ғайра.

Ин аст, ки ман бояд миннатдорам Инала Карданова барои баъзе маслиҳатҳои пурарзише, ки маро ба самт нишон доданд Композитор ба ҷои дохил кардани файлҳое, ки ба ман шиносанд, вале кӯҳнаанд.

Пас аз як-ду мох WavesKit бароварда шуд, баромад версияҳои бета ва ҳоло омода аст, ки бо тамоми функсияҳои стандартии платформаи Waves кор кунад. Ҳама дастрас дар шабакаи асосӣ транзаксияҳоро бо истифода аз як баста, ки дар ҳама версияҳои 64-битии PHP аз 5.6 фарогир кор мекунанд, ба осонӣ эҷод кардан, имзо кардан ва фиристодан мумкин аст.

Мо WavesKit-ро ба лоиҳаи худ пайваст мекунем:

composer require deemru/waveskit

Мо истифода мебарем:

use deemruWavesKit;
$wk = new WavesKit( 'T' );
$wk->setSeed( 'manage manual recall harvest series desert melt police rose hollow moral pledge kitten position add' );
$tx = $wk->txBroadcast( $wk->txSign( $wk->txTransfer( 'test', 1 ) ) );
$tx = $wk->ensure( $tx );

Дар мисоли боло, мо объекти WavesKit эҷод мекунем, ки дар шабакаи "T" кор мекунад. Мо ибораи тухмиро насб мекунем, ки аз он калидҳо ва суроғаи ҳисоб ба таври худкор дар асоси калиди ҷамъиятӣ ҳисоб карда мешаванд. Минбаъд, мо транзаксияи интиқоли 0.00000001 Wavesро аз суроғае, ки бо истифода аз ибораи тухмӣ ба таври худкор ҳисоб карда мешавад, ба суроғаи тахаллуси "санҷиш" эҷод мекунем, онро барои имзо кардан бо калиди хусусӣ интиқол медиҳем ва ба шабака ирсол мекунем. Пас аз ин, мо боварӣ ҳосил мекунем, ки транзаксия аз ҷониби шабака бомуваффақият тасдиқ карда мешавад.

Кор бо транзаксияҳо мутамарказ шудааст Функсияҳое, ки аз tx сар мешаванд. Барои беҳтар фаҳмидани кор бо транзаксия, шумо метавонед омӯзед Ҳуҷҷатҳои WavesKit ё фавран ба мисолҳои тасвирӣ муроҷиат кунед санҷишҳои пайвастаи ҳамгироӣ.

Азбаски WavesKit дар истифодаи воқеӣ таҳия шудааст, он аллакай хусусиятҳои пешрафта дорад. Хусусияти аввалини қотил ин аст функсияро таъмин намояд, ки ноил шудан ба сатҳи зарурии боварӣро назорат мекунад, ки транзаксия гум нашудааст, балки баръакс, тасдиқ карда шуд ва ба шумораи зарурии тасдиқҳо дар шабака расид.

Механизми дигари тирандозӣ ин аст, ки чӣ тавр WavesKit бо гиреҳҳо муошират мекунад. Дар шароити гармхона, чаҳорчӯба танҳо бо гиреҳи асосӣ кор мекунад ва бо он пайвастагии доимиро нигоҳ медорад, аммо дар сурати хатогиҳо он метавонад ба таври худкор ба нусхаҳои эҳтиётӣ гузарад. Агар шумо як қатор гиреҳҳои эҳтиётиро насб кунед, шумо метавонед функсияро даъват кунед setBestNode ки бехтарин гирехи асосй аз руи арзиши максималии баландии хозира ва суръати чавоб муайян карда шавад. Акнун ба ин кэши дархости дохилӣ илова кунед ва ҳам барои корбарон ва ҳам соҳибони гиреҳ ғамхорӣ кунед.

Яке аз навтарин механизмҳои пешрафта функсия мебошад txMonitor. Он аз сабаби зарурати вокуниш ба муомилоти воридотӣ дар вақти воқеӣ пайдо шуд. Ин функсия тамоми нозукиҳои марбут ба коркарди транзаксияҳоро дар blockchain комилан ҳал мекунад. Дигар дард нест, танҳо функсияи бозгашти худро бо имконоти дилхоҳ насб кунед ва мунтазир бошед, ки транзаксияҳои нав оғоз карда, равандҳои шумо оғоз шаванд. Масалан, лоиҳаи дигари ман ВЕКРО пурра дар атрофи ин функсия сохта шудааст, шумо метавонед ба осонӣ омӯзед, ки чӣ тавр он бевосита кор мекунад дар рамзи лоиҳа.

Ман сарчашмаи кушодро дӯст медорам, ин яке аз бузургтарин дастовардҳои инсоният аст. Азбаски ман ягона таҳиякунанда ҳастам ва ба ҳолате расидаам, ки тамоми ниёзҳои ман ҳал карда мешаванд, ман шуморо даъват мекунам, ки истифода баред ва саҳмгузор бошед WavesKit.

Манбаъ: will.com

Илова Эзоҳ