WavesKit - kerangka PHP pikeun gawé bareng blockchain Waves

Мне нравится PHP pikeun laju ngembangkeun sarta portability alus teuing. Éta saé pisan nalika anjeun gaduh alat anu siap pikeun ngarengsekeun masalah dina saku anjeun.

Ieu rada éra nalika, nalika meunang acquainted jeung blockchain domestik Platform Gelombang anjeunna teu boga PHP SDK siap-dijieun di arsenal na. Nya, kuring kedah nyerat.

Mimitina kuring kedah nganggo titik-titik pikeun nandatanganan transaksi. Janten, pikeun ngatur tilu alamat, anjeun kedah ngajalankeun tilu titik ... Ieu mangrupikeun tetempoan anu pikasieuneun, sanaos ngarengsekeun sababaraha masalah. Dugi dugi ka pamahaman yén ngandelkeun node mangrupikeun jalan buntu. Kahiji, alatan fungsionalitas kawates API, Bréh, kusabab speed (titik pisan slow dina mangsa éta).

Kuring ngamimitian dua padamelan paralel. Salah sahijina nyaéta ngadamel penjelajah blockchain anu gancang sareng lengkep bebas tina API titik. Anu kadua nyaéta pikeun ngumpulkeun sadaya fungsi pikeun damel sareng Platform Waves di hiji tempat. Ieu kumaha proyék-proyék sumping. w8io и WavesKit.

Léngkah munggaran di balik layar blockchain Waves nyaéta browser w8io. Éta henteu gampang, tapi tetep tiasa nyerat itungan bebas sadaya kasaimbangan sareng mendakan kasalahan dina itungan dina titik aslina (program bug bounty Ku jalan kitu, éta lumaku pikeun aranjeunna, aranjeunna mayar kasalahan kapanggih). Anjeun tiasa leuwih jéntré ngeunaan pungsionalitas browser w8io dina thread ieu: https://forum.wavesplatform.com/t/w8io-waves-explorer-based-on-php-sqlite

Dina prosés ngerjakeun w8io, kuring parantos mamang, tapi nalika karyana dugi ka tungtung logis sareng kuring ngamimitian nyiptakeun SDK, mamang kuring dikonfirmasi. Abdi henteu tiasa mendakan sababaraha fungsi dimana waé, kalebet kriptografi anu paling penting. Teras kuring ngamimitian ku ngadamel bata pondasi kuring. Ieu kumaha aranjeunna dilahirkeun: ABCode pikeun nangkodkeun dina base58 (saleresna pikeun nangkodkeun alfabét naon waé), Curve25519 pikeun nyieun sareng pariksa tanda tangan anu cocog (kalayan pilihan dina stéroid), Blake2b keur ngitung salah sahiji hashes (anu ngan geus sadia saprak PHP 7.2), jsb.

Di dieu kuring kudu hatur nuhun Inala Kardanova pikeun sababaraha nasihat berharga anu steered kuring nuju komposer tinimbang nu biasa keur kuring, tapi luntur, kaasup file.

Sanggeus sababaraha bulan WavesKit ningali cahaya panonpoe, kaluar versi béta tur ayeuna siap dianggo kalayan sagala pungsionalitas standar platform Waves. Sadayana sayogi di jaringan utama transaksi bisa gampang dijieun, ditandatanganan sarta dikirim ku ngan hiji pakét anu dijalankeun dina sagala versi 64-bit PHP ti 5.6 inklusif.

Kami nyambungkeun WavesKit kana proyék kami:

composer require deemru/waveskit

Urang ngagunakeun:

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

Dina conto di luhur, urang nyieun hiji objek WavesKit nu dijalankeun dina testnet "T". Kami nyetél frasa cikal, dimana konci sareng alamat akun otomatis diitung dumasar kana konci umum. Salajengna, urang nyieun transaksi mindahkeun 0.00000001 Gelombang ti alamat otomatis diitung tina frase cikal ka alamat "test" landian, mindahkeun eta pikeun tanda tangan jeung konci swasta sarta ngirim ka jaringan. Sanggeus éta, urang pastikeun yén urus geus hasil dikonfirmasi ku jaringan.

Transaksi museurkeun kana fungsi dimimitian ku tx. Pikeun pamahaman hadé tina gawé bareng transaksi, anjeun tiasa diajar Dokuméntasi WavesKit atanapi langsung kana conto ilustrasi dina tés integrasi kontinyu.

Kusabab WavesKit parantos dikembangkeun sacara nyata, éta parantos ngagaduhan fitur canggih. Fitur killer munggaran nyaéta mastikeun fungsi, nu ngawasaan prestasi tingkat diperlukeun kapercayaan yén urus teu leungit, tapi, sabalikna, ieu dikonfirmasi sarta ngahontal jumlah diperlukeun confirmations dina jaringan.

Mékanisme pélor sanésna nyaéta kumaha WavesKit komunikasi sareng titik. Dina kaayaan rumah kaca, kerangka ngan ukur dianggo sareng titik utama, ngajaga sambungan konstan sareng éta, tapi upami aya kasalahan, éta tiasa otomatis ngalih ka cadangan. Upami Anjeun keur nyetel hiji Asép Sunandar Sunarya titik sayaga, Anjeun bisa nelepon fungsi setBestNode pikeun nangtukeun titik pangalusna salaku titik utama ku nilai maksimum jangkungna ayeuna jeung speed respon. Ayeuna tambahkeun cache query internal kana ieu sareng rasakeun perawatan pangguna sareng pamilik titik.

Salah sahiji mékanisme canggih panganyarna nyaéta fungsi txMonitor. Éta muncul dina sambungan sareng kabutuhan pikeun ngabales transaksi anu asup sacara real waktos. Fungsi ieu lengkep ngarengsekeun sadaya nuansa anu aya hubunganana sareng ngolah transaksi dina blockchain. Henteu aya deui nyeri, cukup nyetél fungsi callback anjeun sareng pilihan anu anjeun pikahoyong sareng ngantosan transaksi énggal ngamimitian prosés anjeun. Salaku conto, salah sahiji proyék kuring VECRO sagemblengna diwangun sabudeureun fungsi ieu, anjeun bisa kalayan gampang diajar kumaha gawéna katuhu dina kode proyék.

Abdi bogoh open source, éta salah sahiji prestasi greatest umat manusa. Kusabab Kami hijina pamekar sarta geus ngahontal kaayaan anu sagala kaperluan kuring direngsekeun, Kuring ngajak anjeun ngagunakeun tur nyumbang kana WavesKit.

sumber: www.habr.com

Tambahkeun komentar