WavesKit – PHP ilana fun ṣiṣẹ pẹlu awọn Waves blockchain

Mọ awọn ọja PHP fun iyara ti idagbasoke ati gbigbe to dara julọ. O dara pupọ nigbati o ba ni ohun elo nigbagbogbo ti o ṣetan fun lohun awọn iṣoro ninu apo rẹ.

O jẹ ohun itiju nigbati, nigbati nini acquainted pẹlu awọn abele blockchain Waves Platform ko ni PHP SDK ti o ti ṣetan ninu ohun ija rẹ. O dara, Mo ni lati kọ.

Ni akọkọ Mo ni lati lo apa lati wole awọn idunadura. Nitorinaa, lati ṣakoso awọn adirẹsi mẹta, o ni lati ṣiṣẹ awọn apa mẹta ... O jẹ oju aanu, botilẹjẹpe o yanju diẹ ninu awọn iṣoro. Titi oye ti wa pe gbigbe ara awọn apa jẹ opin ti o ku. Ni akọkọ, nitori iṣẹ ṣiṣe to lopin API, keji, nitori ti awọn iyara (ipade wà gan o lọra ni awon ọjọ).

Mo bẹrẹ awọn iṣẹ meji ti o jọra. Ọkan ni lati ṣe aṣawakiri blockchain ti o yara ati ominira patapata ti ipade API. Awọn keji ni lati gba gbogbo awọn iṣẹ fun ṣiṣẹ pẹlu awọn Waves Platform ni ibi kan. Eyi ni bi awọn iṣẹ akanṣe ṣe wa. w8io и WavesKit.

Igbesẹ akọkọ lẹhin awọn oju iṣẹlẹ ti blockchain Waves jẹ w8io kiri. Ko rọrun, ṣugbọn tun ṣakoso lati kọ iṣiro ominira ti gbogbo awọn iwọntunwọnsi ati paapaa rii aṣiṣe ninu awọn iṣiro lori awọn apa atilẹba (kokoro Eru eto Nipa ọna, o ṣiṣẹ fun wọn, wọn sanwo fun awọn aṣiṣe ti a ri). O le kọ ẹkọ diẹ sii nipa iṣẹ ṣiṣe ẹrọ aṣawakiri w8io ninu okun yii: https://forum.wavesplatform.com/t/w8io-waves-explorer-based-on-php-sqlite

Ninu ilana ti ṣiṣẹ lori w8io, Mo ti ni iyemeji tẹlẹ, ṣugbọn nigbati iṣẹ naa ba de opin ọgbọn ati pe Mo bẹrẹ ṣiṣẹda SDK, awọn ṣiyemeji mi ti jẹrisi. Emi ko le rii awọn iṣẹ kan nibikibi, pẹlu awọn pataki cryptographic pataki. Lẹhinna Mo bẹrẹ nipa ṣiṣe awọn biriki ipilẹ mi. Báyìí ni wọ́n ṣe bí: ABcode lati fi koodu sii ni base58 (gangan lati fi koodu alfabeti eyikeyi si eyikeyi), Curve25519 lati ṣẹda ati rii daju awọn ibuwọlu ibaramu (pẹlu awọn aṣayan lori awọn sitẹriọdu), Blake2b lati ṣe iṣiro ọkan ninu awọn hashes (eyiti o wa lati PHP 7.2 nikan), ati bẹbẹ lọ.

Nibi ti mo ni lati dúpẹ lọwọ Inala Kardanova fun diẹ ninu awọn niyelori imọran ti o steered mi si ọna olupilẹṣẹ dipo ti awọn ibùgbé fun mi, ṣugbọn igba atijọ, pẹlu awọn faili.

Lẹhin osu meji WavesKit ri imọlẹ ti ọjọ, jade wá beta awọn ẹya ati pe o ti ṣetan lati ṣiṣẹ pẹlu gbogbo iṣẹ ṣiṣe boṣewa ti Syeed Waves. Gbogbo wa ninu akọkọ nẹtiwọki lẹkọ le wa ni awọn iṣọrọ da, wole ati ki o rán pẹlu o kan kan package ti o nṣiṣẹ lori gbogbo 64-bit awọn ẹya ti PHP lati 5.6 pẹlu.

A so WavesKit pọ si iṣẹ akanṣe wa:

composer require deemru/waveskit

A lo:

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 );

Ni apẹẹrẹ loke, a ṣẹda ohun kan WavesKit ti o nṣiṣẹ lori testnet "T". A ṣeto gbolohun ọrọ irugbin, lati eyiti awọn bọtini ati adirẹsi ti akọọlẹ naa ṣe iṣiro laifọwọyi da lori bọtini gbogbogbo. Nigbamii ti, a ṣẹda idunadura gbigbe kan 0.00000001 Waves lati adiresi ti a ṣe iṣiro laifọwọyi lati inu gbolohun ọrọ irugbin si adirẹsi ti "idanwo" inagijẹ, gbe lọ fun ibuwọlu pẹlu bọtini ikọkọ ati firanṣẹ si nẹtiwọki. Lẹhin iyẹn, a rii daju pe idunadura naa ni aṣeyọri nipasẹ nẹtiwọọki naa.

Awọn iṣowo ti wa ni idojukọ lori awọn iṣẹ bẹrẹ pẹlu tx. Fun oye ti o dara julọ ti ṣiṣẹ pẹlu awọn iṣowo, o le kọ ẹkọ WavesKit iwe tabi lọ taara si awọn apẹẹrẹ apejuwe ni lemọlemọfún Integration igbeyewo.

Niwọn igba ti WavesKit ti ni idagbasoke ni lilo gidi, o ti ni awọn ẹya to ti ni ilọsiwaju tẹlẹ. Ẹya apaniyan akọkọ jẹ rii daju iṣẹ, eyiti o ṣakoso aṣeyọri ti ipele ti igbẹkẹle ti a beere pe idunadura naa ko padanu, ṣugbọn, ni ilodi si, ti fi idi rẹ mulẹ o si de nọmba ti o nilo ti awọn ijẹrisi ni nẹtiwọọki.

Ilana aabo ọta ibọn miiran ni bii WavesKit ṣe n ba awọn apa sọrọ. Ni awọn ipo eefin, ilana naa ṣiṣẹ nikan pẹlu ipade akọkọ, mimu asopọ nigbagbogbo pẹlu rẹ, ṣugbọn ninu ọran awọn aṣiṣe o le yipada laifọwọyi si awọn afẹyinti. Ti o ba n ṣeto akojọpọ awọn apa imurasilẹ, o le pe iṣẹ naa setBestNode lati pinnu ipade ti o dara julọ bi oju ipade akọkọ nipasẹ iye ti o pọju ti iga lọwọlọwọ ati iyara esi. Bayi ṣafikun kaṣe ibeere inu si eyi ki o ni rilara itọju ti awọn olumulo mejeeji ati awọn oniwun ipade.

Ọkan ninu awọn ilana ilọsiwaju tuntun ni iṣẹ naa txMonitor. O han ni asopọ pẹlu iwulo lati dahun si awọn iṣowo ti nwọle ni akoko gidi. Iṣẹ yii pari patapata gbogbo awọn nuances ti o ni nkan ṣe pẹlu sisẹ awọn iṣowo ni blockchain. Ko si irora diẹ sii, kan ṣeto iṣẹ ipe rẹ pẹlu awọn aṣayan ti o fẹ ki o duro de awọn iṣowo tuntun lati bẹrẹ awọn ilana rẹ. Fun apẹẹrẹ, miiran ọkan ninu awọn iṣẹ akanṣe mi VECRO ti a kọ patapata ni ayika iṣẹ yii, o le ni rọọrun kọ ẹkọ bi o ṣe n ṣiṣẹ ni deede ninu koodu ise agbese.

Mo nifẹ orisun ṣiṣi, o jẹ ọkan ninu awọn aṣeyọri nla julọ ti ẹda eniyan. Niwọn igba ti Emi nikan ni idagbasoke ati pe o ti de ipinlẹ ti gbogbo awọn iwulo mi ti yanju, Mo pe ọ lati lo ati ṣe alabapin si WavesKit.

orisun: www.habr.com

Fi ọrọìwòye kun