I-WavesKit - Uhlaka lwe-PHP lokusebenza ne-Waves blockchain

Masha PHP ngesivinini sokuthuthuka nokuphatheka okuhle kakhulu. Kuhle kakhulu uma uhlala unethuluzi ephaketheni lakho, lilungele ukuxazulula izinkinga.

Kwakuyihlazo lapho, lapho ngijwayelana ne-blockchain yasekhaya Amagagasi Platform wayengenayo i-PHP SDK eseyenziwe ngomumo ku-arsenal yakhe. Hhayi-ke, bekufanele ngikubhale.

Ekuqaleni kwadingeka ngisebenzise ama-node ukusayina ukuthengiselana. Ngakho-ke, ukuphatha amakheli amathathu kwakudingekile ukwethula ama-node amathathu... Kwakuwumbono odabukisayo, nakuba wawuxazulula izinkinga ezithile. Kwaze kwafika ukuqonda ukuthi ukuthembela kuma-node kwakuyinto efile. Okokuqala, ngenxa yokusebenza okulinganiselwe API, okwesibili, ngenxa yejubane (ama-node ayehamba kancane ngalezo zinsuku).

Ngaqala imisebenzi emibili efanayo. Enye iwukwenza umhloli we-blockchain ozoba ngokushesha futhi ozimele ngokuphelele ku-node API. Okwesibili ukuqoqa yonke imisebenzi yokusebenza ne-Waves Platform endaweni eyodwa. Lena yindlela amaphrojekthi avele ngayo w8io и I-WavesKit.

Isinyathelo sokuqala ngemuva kwezigcawu ze-Waves blockchain kwaba w8io isiphequluli. Bekungelula, kodwa sakwazi ukubhala isibalo esizimele sawo wonke amabhalansi futhi saze sathola iphutha ekubalweni kumanodi okuqala (uhlelo lwe-bug-bounty Ngendlela, kuyabasebenzela, bakhokhela amaphutha atholakele). Ungafunda kabanzi mayelana nokusebenza kwesiphequluli se-w8io kulesi sihloko: https://forum.wavesplatform.com/t/w8io-waves-explorer-based-on-php-sqlite

Ngenkathi ngisebenza ku-w8io, ngase ngivele nginokungabaza, kodwa lapho umsebenzi ufika ekupheleni kwawo okunengqondo futhi ngiqala ukudala i-SDK, ukungabaza kwami ​​kwaqinisekiswa. Angikwazanga ukuthola imisebenzi ethile noma kuphi, okuhlanganisa ebaluleke kakhulu, eyimfihlo. Ngabe sengiqala ngokwenza izitini zami zesisekelo. Bazalwa kanje: ABCode ukufaka ikhodi ku-base58 (empeleni ukubhala noma yiziphi izinhlamvu zamagama kunoma iyiphi), I-Curve25519 ukwakha nokuqinisekisa amasiginesha ahambisanayo (nezinketho kuma-steroids), Blake2b ukubala i-hashe eyodwa (eyayitholakala kuphela kusukela ku-PHP 7.2), njll.

Yilapho okumele ngibonge khona Inala Kardanova ukuthola iseluleko esibalulekile esingikhombise lapho ngibheke khona umqambi esikhundleni sokuhlanganisa amafayela engiwajwayele, kodwa aphelelwe yisikhathi.

Ngemva kwezinyanga ezimbalwa I-WavesKit ikhishwe, waphuma izinguqulo ze-beta futhi manje isilungele ukusebenza ngakho konke ukusebenza okujwayelekile kwesikhulumi se-Waves. Konke kuyatholakala ku inethiwekhi enkulu okwenziwayo kungadalwa kalula, kusayinwe futhi kuthunyelwe kusetshenziswa iphakheji eyodwa kuphela, esebenza kuzo zonke izinguqulo ze-64-bit ze-PHP kusuka ku-5.6 ihlanganisiwe.

Sixhuma i-WavesKit kuphrojekthi 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 );

Esibonelweni esingenhla, sakha into ye-WavesKit esebenza ku-testnet "T". Sifaka umushwana wembewu lapho okhiye nekheli le-akhawunti abalwa ngokuzenzakalelayo ngokusekelwe kukhiye womphakathi. Okulandelayo, sakha umsebenzi wokudlulisa 0.00000001 Amagagasi asuka ekhelini elibalwe ngokuzenzakalelayo kusetshenziswa ibinzana lembewu ekhelini lesibizo elithi "test", lidlulisele ukuze lisayinwe ngokhiye oyimfihlo bese ulithumela kunethiwekhi. Ngemva kwalokhu, senza isiqiniseko sokuthi umsebenzi uqinisekiswa ngempumelelo inethiwekhi.

Ukusebenza nokuthengiselana kugxile imisebenzi eqala nge-tx. Ukuze uthole ukuqonda okungcono kokusebenza ngemisebenzi, ungafunda Amadokhumenti e-WavesKit noma vula ngokushesha izibonelo zemifanekiso ku ukuhlolwa kokuhlanganiswa okuqhubekayo.

Njengoba i-WavesKit ithuthukiswe ekusetshenzisweni komhlaba wangempela, isivele inezici ezithuthukile. Isici umbulali wokuqala kuyinto qinisekisa umsebenzi, okulawula ukufezwa kwezinga elidingekayo lokuqiniseka ukuthi ukuthengiselana akuzange kulahleke, kodwa, ngokuphambene nalokho, kwaqinisekiswa futhi kwafinyelela inombolo edingekayo yokuqinisekisa kunethiwekhi.

Enye indlela ye-bulletproof yindlela i-WavesKit exhumana ngayo nama-node. Ezimweni ezibamba ukushisa, uhlaka lusebenza kuphela nge-node eyinhloko, lugcina uxhumano oluqhubekayo nalo, kodwa uma kwenzeka amaphutha lungashintsha ngokuzenzakalelayo ku-backups. Uma usetha ama-backup node amaningi, ungashayela uhlelo setBestNode ukunquma inodi engcono njengeyona eyinhloko ngokusekelwe enanini eliphezulu lobude bamanje nesivinini sokuphendula. Manje engeza kulokhu inqolobane yombuzo wangaphakathi futhi uzizwe unakekelwe kokubili abasebenzisi nabanikazi bezindawo.

Enye yezindlela ezithuthukisiwe zakamuva umsebenzi txMonitor. Kubonakale ngenxa yesidingo sokuphendula kumisebenzi engenayo ngesikhathi sangempela. Lo msebenzi uxazulula ngokuphelele wonke ama-nuances ahlotshaniswa nokucubungula ukuthengiselana ku-blockchain. Akusekho buhlungu, vele usethe umsebenzi wakho wokuphinda ushayele ngezinketho ozifisayo bese ulinda ukuthengiselana okusha ukuze kuqale izinqubo zakho. Isibonelo, enye iphrojekthi yami I-VECRO eyakhelwe ngokuphelele kulo msebenzi, ungakwazi ukufunda kalula ukuthi usebenza kanjani ngokuqondile kukhodi yephrojekthi.

Ngiyawuthanda umthombo ovulekile, ingenye yezimpumelelo ezinkulu kakhulu zobuntu. Njengoba kuyimi ngedwa unjiniyela futhi ngifinyelele esimweni lapho zonke izidingo zami zixazululwa, ngikumema ukuthi usebenzise futhi ufake isandla I-WavesKit.

Source: www.habr.com

Engeza amazwana