WavesKit - PHP isakhelo ukusebenza kunye Waves blockchain

Ndiyathanda PHP ngesantya sophuhliso kunye nokuphatheka okugqwesileyo. Kuhle kakhulu xa uhlala unesixhobo epokothweni yakho, ulungele ukusombulula iingxaki.

Kwakulihlazo kakhulu xa, xa uqhelana ne-blockchain yasekhaya Iqonga lamaza wayengenayo i-PHP SDK esele yenziwe kwi-arsenal yakhe. Ewe, kwafuneka ndiyibhale.

Ekuqaleni kwafuneka ndisebenzise iindawo zokuhlala ukutyikitya iintengiselwano. Ngoko ke, ukulawula iidilesi ezintathu kwakuyimfuneko ukuqalisa ii-nodes ezintathu ... Kwakungumbono obuhlungu, nangona wawusombulula iingxaki ezithile. Kwade kwafika ukuqonda ukuba ukuthembela kwii-nodes kwakuyisiphelo esibi. Okokuqala, ngenxa yokusebenza okulinganiselweyo API, okwesibini, ngenxa yesantya (iindawo zokuhlala zazicotha kakhulu ngaloo mihla).

Ndaqalisa imisebenzi emibini ehambelanayo. Enye kukwenza umhloli we-blockchain oya kukhawuleza kwaye azimele ngokupheleleyo kwi-node API. Okwesibini kukuqokelela yonke imisebenzi yokusebenza kunye ne-Waves Platform kwindawo enye. Le yindlela ezivele ngayo iiprojekthi w8io ΠΈ WavesKit.

Inyathelo lokuqala emva kwemifanekiso yeWaves blockchain yaba isikhangeli se-w8io. Kwakungekho lula, kodwa sakwazi ukubhala ukubala okuzimeleyo kwazo zonke iibhalansi kwaye nokufumana impazamo kwizibalo kwiinodi zokuqala (inkqubo ye bug-bounty Ngendlela, iyasebenza kubo, bahlawula iimpazamo ezifunyenweyo). Unokufunda ngakumbi malunga nokusebenza kwesikhangeli se-w8io kwesi sihloko: https://forum.wavesplatform.com/t/w8io-waves-explorer-based-on-php-sqlite

Ngelixa ndisebenza kwi-w8io, sele ndinamathandabuzo, kodwa xa umsebenzi wafika ekupheleni kwawo kwaye ndaqala ukudala i-SDK, amathandabuzo am aqinisekisiwe. Andikwazanga ukufumana imisebenzi naphi na, kuquka eyona ibalulekileyo, efihlakeleyo. Emva koko ndaqala ngokwenza izitena zam kwisiseko. Bazalwa ngolu hlobo: Ikhowudi yeABC ukufaka ikhowudi kwi-base58 (eneneni ukufaka ikhowudi kuyo nayiphi na ialfabhethi), I-Curve25519 ukwenza kunye nokuqinisekisa utyikityo oluhambelanayo (ngokhetho kwiisteroids), Blake2b ukubala enye yeehashe (eyayifumaneka kuphela ukususela kwi-PHP 7.2), njl.

Kulapho kufuneka ndibulele khona Inala Kardanova ngengcebiso ezixabisekileyo ezandikhomba kwicala Umqambi endaweni yokuquka iifayile eziqhelekileyo kum, kodwa eziphelelwe lixesha.

Emva kweenyanga ezimbalwa WavesKit yakhululwa, iphume iinguqulelo ze-beta kwaye ngoku ilungele ukusebenza nayo yonke imisebenzi esemgangathweni yeqonga lamaza. Zonke ziyafumaneka kwi inethiwekhi engundoqo iintengiselwano zingenziwa ngokulula, zisayinwe kwaye zithunyelwe kusetyenziswa ipakethe enye, isebenza kuzo zonke iinguqulelo ze-64-bit ze-PHP ukusuka kwi-5.6 equkeneyo.

Sidibanisa iWavesKit kwiprojekthi yethu:

composer require deemru/waveskit

Sisebenzisa:

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

Kulo mzekelo ungentla, senza into ye-WavesKit eqhuba kwi-testnet "T". Sifaka ibinzana lembewu apho izitshixo kunye nedilesi ye-akhawunti zibalwe ngokuzenzekelayo ngokusekelwe kwisitshixo sikawonkewonke. Emva koko, senza i-transaction transaction 0.00000001 Amaza ukusuka kwidilesi ebalwe ngokuzenzekelayo usebenzisa ibinzana lembewu kwidilesi ye-alias "uvavanyo", uyidlulisele ukuba isayinwe ngesitshixo sangasese kwaye uyithumele kwinethiwekhi. Emva koku, siqinisekisa ukuba intengiselwano iqinisekiswa ngempumelelo yinethiwekhi.

Umsebenzi ngentengiselwano ugxile imisebenzi iqala nge tx. Ukuqonda ngcono ukusebenza ngeentengiselwano, unokufunda Amaxwebhu eWavesKit okanye ngokukhawuleza ujike kwimizekelo eyimifanekiso iimvavanyo eziqhubekayo zokuhlanganisa.

Ekubeni i-WavesKit iphuhlisiwe kusetyenziso lwehlabathi lokwenyani, sele ineempawu eziphambili. Uphawu lombulali wokuqala qinisekisa umsebenzi, elawula ukufezekiswa kwenqanaba elifunekayo lokuzithemba ukuba ukuthengiselana akuzange kulahleke, kodwa, ngokuchaseneyo, kwaqinisekiswa kwaye kwafikelela kwinani elifunekayo lokuqinisekisa kwinethiwekhi.

Enye indlela yokuthintela iimbumbulu yindlela i-WavesKit enxibelelana ngayo neenodi. Kwiimeko ze-greenhouse, isakhelo sisebenza kuphela nge-node ephambili, ukugcina uxhulumaniso oluqhubekayo kunye nayo, kodwa xa kukho iimpazamo kunokutshintshela ngokuzenzekelayo kwi-backups. Ukuba useta uluhlu lweenodi zogcino, ungafowunela umsebenzi setBestNode ukufumanisa eyona node njengeyona iphambili esekelwe kwixabiso eliphezulu lobude obukhoyo kunye nesantya sokuphendula. Ngoku yongeza kule cache yombuzo wangaphakathi kwaye uzive unenkathalo kubo bobabini abasebenzisi kunye nabanini beendawo.

Enye yeendlela eziphambili zamva nje ngumsebenzi txMonitor. Ibonakale ngenxa yesidingo sokuphendula kwintengiselwano engenayo ngexesha lokwenyani. Lo msebenzi usombulula ngokupheleleyo zonke ii-nuances ezinxulumene nokusetyenzwa kweentengiselwano kwi-blockchain. Akusekho ntlungu, vele usete umsebenzi wakho wokufowuna ngokhetho olufunekayo kwaye ulinde ukuthengiselana okutsha ukuqala iinkqubo zakho. Umzekelo, enye iprojekthi yam I-VECRO yakhiwe ngokupheleleyo malunga nalo msebenzi, unokufunda ngokulula ukuba isebenza njani ngokuthe ngqo kwikhowudi yeprojekthi.

Ndiyawuthanda umthombo ovulekileyo, yenye yezona mpumelelo zoluntu. Kuba ndim ndedwa umphuhlisi kwaye ndifikelele kwindawo apho zonke iimfuno zam zisonjululwe, ndiyakumema ukuba usebenzise kwaye ube negalelo WavesKit.

umthombo: www.habr.com

Yongeza izimvo