{"id":30639,"date":"2019-10-31T21:36:39","date_gmt":"2019-10-31T18:36:39","guid":{"rendered":"https:\/\/prohoster.info\/blog\/waveskit-php-frejmvork-dlya-raboty-s-blokchejnom-waves\/"},"modified":"2019-10-31T21:36:39","modified_gmt":"2019-10-31T18:36:39","slug":"waveskit-php-frejmvork-dlya-raboty-s-blokchejnom-waves","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/waveskit-php-frejmvork-dlya-raboty-s-blokchejnom-waves","title":{"rendered":"WavesKit \u2014 kuadri PHP p\u00ebr pun\u00eb me blockchain-in Waves","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>M\u00eb p\u00eblqen <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/PHP\">PHP<\/a><\/noindex> p\u00ebr shpejt\u00ebsin\u00eb e zhvillimit dhe portabilitetin e shk\u00eblqyer. Kjo \u00ebsht\u00eb shum\u00eb mir\u00eb kur nj\u00eb mjet i gatsh\u00ebm p\u00ebr zgjidhjen e problemeve \u00ebsht\u00eb gjithmon\u00eb n\u00eb xhep.<\/p>\n<p><\/p>\n<p>Ishte mjaft e sikletshme kur, gjat\u00eb njohjes me bllokad\u00ebn komb\u00ebtare <noindex><a rel=\"nofollow\" href=\"https:\/\/wavesplatform.com\">Waves Platform<\/a><\/noindex> n\u00eb arsenalin e tij nuk kishte nj\u00eb SDK t\u00eb gatsh\u00ebm p\u00ebr PHP. \u00c7far\u00eb t\u00eb b\u00ebjm\u00eb, duhej ta shkruaja vet\u00eb.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>N\u00eb fillim, duhej t\u00eb p\u00ebrdorja <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.wavesplatform.com\/en\/waves-full-node\/what-is-a-full-node.html\">noda<\/a><\/noindex> p\u00ebr n\u00ebnshkrimin e transaksioneve. K\u00ebshtu, p\u00ebr t\u00eb menaxhuar tre adresa, duhej t\u00eb niste tre nod\u00eb... Ishte nj\u00eb pamje e mjerueshme, megjithat\u00eb zgjidhte disa probleme. Derisa kuptova se mb\u00ebshtetja te nodet ishte nj\u00eb ng\u00ebr\u00e7. S\u00eb pari, p\u00ebr shkak t\u00eb funksionalitetit t\u00eb kufizuar <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.wavesplatform.com\/en\/waves-api-and-sdk\/waves-node-rest-api.html\">API<\/a><\/noindex>, s\u00eb dyti, p\u00ebr shkak t\u00eb shpejt\u00ebsis\u00eb (n\u00eb ato dit\u00eb, nodet ishin shum\u00eb t\u00eb ngadalta).<\/p>\n<p><\/p>\n<p>Kam filluar dy projekte paralele. Nj\u00ebri \u2014 t\u00eb krijoja nj\u00eb shfletues bllokadash, i cili do t\u00eb ishte i shpejt\u00eb dhe krejt\u00ebsisht i pavarur nga API-n\u00eb e nod\u00ebve. Tjetri \u2014 t\u00eb bashkoja t\u00eb gjitha funksionet p\u00ebr t\u00eb punuar me Waves Platform n\u00eb nj\u00eb vend. K\u00ebshtu lindi projektet <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/deemru\/w8io\">w8io<\/a><\/noindex> dhe <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/deemru\/WavesKit\">WavesKit<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p>Hapi i par\u00eb pas skenave t\u00eb bllokad\u00ebs Waves ishte <noindex><a rel=\"nofollow\" href=\"https:\/\/w8io.ru\">shfletuesi w8io<\/a><\/noindex>. Nuk ishte e leht\u00eb, por megjithat\u00eb arrita t\u00eb shkruaja nj\u00eb llogaritje t\u00eb pavarur t\u00eb t\u00eb gjitha bilancit dhe madje t\u00eb gjeja nj\u00eb gabim n\u00eb llogaritjet n\u00eb nodet origjinale (<noindex><a rel=\"nofollow\" href=\"https:\/\/forum.wavesplatform.com\/t\/bug-bounty-program\/1127\">programi bug-bounty<\/a><\/noindex> p\u00ebr m\u00eb tep\u00ebr, aty punon, p\u00ebr gabimet e gjetura paguhet). Ju mund t\u00eb studioni m\u00eb n\u00eb detaje funksionalitetin e shfletuesit w8io n\u00eb k\u00ebt\u00eb tem\u00eb: <noindex><a rel=\"nofollow\" href=\"https:\/\/forum.wavesplatform.com\/t\/w8io-waves-explorer-based-on-php-sqlite\">https:\/\/forum.wavesplatform.com\/t\/w8io-waves-explorer-based-on-php-sqlite<\/a><\/noindex><\/p>\n<p><\/p>\n<p>N\u00eb procesin e pun\u00ebs mbi w8io, isha tashm\u00eb i dyshimt\u00eb, por kur puna arriti n\u00eb p\u00ebrfundim logjik dhe fillova krijimin e SDK-s\u00eb, dyshimet u konfirmuan. Nuk arrita t\u00eb gjej disa funksione, p\u00ebrfshir\u00eb ato m\u00eb t\u00eb r\u00ebnd\u00ebsishmet, ato kriptografike. At\u00ebher\u00eb fillova me krijimin e blloqeve t\u00eb mia p\u00ebr themelin. K\u00ebshtu lindi: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/deemru\/ABCode\">ABCode<\/a><\/noindex> p\u00ebr kodimin n\u00eb base58 (n\u00eb t\u00eb v\u00ebrtet\u00eb p\u00ebr kodimin e \u00e7do alfabete n\u00eb \u00e7do), <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/deemru\/Curve25519\">Curve25519<\/a><\/noindex> p\u00ebr krijimin dhe verifikimin e n\u00ebnshkrimeve t\u00eb p\u00ebrputhshme (me variante <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/deemru\/Curve25519\/blob\/0ba56fa566f4a29b06126465b9ebbe59c915ffbd\/src\/Curve25519.php#L104\">n\u00eb steroide<\/a><\/noindex>), <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/deemru\/Blake2b\">Blake2b<\/a><\/noindex> p\u00ebr llogaritjen e nj\u00eb nga hash-\u00ebve (i cili ishte i disponuesh\u00ebm vet\u00ebm q\u00eb nga PHP 7.2) etj.<\/p>\n<p><\/p>\n<p>K\u00ebtu duhet t\u00eb fal\u00ebnderohem <noindex><a rel=\"nofollow\" href=\"https:\/\/twitter.com\/ikardanoff\">Inal Kardanov<\/a><\/noindex> p\u00ebr disa k\u00ebshilla t\u00eb \u00e7muara q\u00eb m\u00eb udh\u00ebhoq\u00ebn drejt <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Composer_(software)\">composer<\/a><\/noindex> n\u00eb vend t\u00eb skedar\u00ebve t\u00eb p\u00ebrfshirjes q\u00eb ishin t\u00eb njohur p\u00ebr mua, por q\u00eb ishin t\u00eb vjet\u00ebruar.<\/p>\n<p><\/p>\n<p>Pas disa muajve <noindex>WavesKit pa drit\u00ebn e dit\u00ebs<\/noindex>, doli jasht\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/twitter.com\/ikardanoff\/status\/1091241637706190848\">versioni beta<\/a><\/noindex> dhe tani \u00ebsht\u00eb gati t\u00eb punoj\u00eb me t\u00eb gjith\u00eb funksionalitetin standard t\u00eb platform\u00ebs Waves. T\u00eb gjitha t\u00eb disponueshme n\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.wavesplatform.com\/en\/waves-environment\/waves-mainnet.html\">rrjetin kryesor<\/a><\/noindex> Transaksionet mund t\u00eb krijohen, n\u00ebnshkruhen dhe d\u00ebrgohen leht\u00ebsisht nga nj\u00eb paket\u00eb, e cila funksionon n\u00eb t\u00eb gjitha versionet 64-bit t\u00eb PHP nga 5.6 e tutje.<\/p>\n<p><\/p>\n<p>Lidhni WavesKit n\u00eb projektin tuaj:<\/p>\n<p><\/p>\n<pre><code class=\"php\">composer require deemru\/waveskit<\/code><\/pre>\n<p><\/p>\n<p>P\u00ebrdorim:<\/p>\n<p><\/p>\n<pre><code class=\"php\">use deemruWavesKit;\n$wk = new WavesKit( 'T' );\n$wk-&gt;setSeed( 'manage manual recall harvest series desert melt police rose hollow moral pledge kitten position add' );\n$tx = $wk-&gt;txBroadcast( $wk-&gt;txSign( $wk-&gt;txTransfer( 'test', 1 ) ) );\n$tx = $wk-&gt;ensure( $tx );<\/code><\/pre>\n<p><\/p>\n<p>N\u00eb shembullin e m\u00ebsip\u00ebrm krijojm\u00eb objektin WavesKit, i cili punon n\u00eb rrjetin testues \"T\". Vendosim fraz\u00ebn seed, nga e cila llogariten automatikisht \u00e7el\u00ebsat dhe adresa e llogaris\u00eb mbi baz\u00ebn e \u00e7el\u00ebsit publik. M\u00eb pas krijojm\u00eb nj\u00eb transaksion transferi t\u00eb 0.00000001 Waves nga adresa e llogaris\u00eb e llogaritur automatikisht me fraz\u00ebn seed n\u00eb adres\u00ebn e aliasit \"test\", e d\u00ebrgojm\u00eb p\u00ebr n\u00ebnshkrim me \u00e7el\u00ebsin privat dhe e d\u00ebrgojm\u00eb n\u00eb rrjet. Pas k\u00ebsaj sigurohemi q\u00eb transaksioni \u00ebsht\u00eb konfirmuar me sukses nga rrjeti.<\/p>\n<p><\/p>\n<p>Puna me transaksionet \u00ebsht\u00eb p\u00ebrqendruar n\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/deemru\/WavesKit\/blob\/master\/docs\/WavesKit.md#waveskittxaddressscript\">funksionet q\u00eb fillojn\u00eb me tx<\/a><\/noindex>. P\u00ebr ta kuptuar m\u00eb mir\u00eb pun\u00ebn me transaksionet, mund t\u00eb studioni <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/deemru\/WavesKit\/blob\/master\/docs\/WavesKit.md\">dokumentacionin e WavesKit<\/a><\/noindex> ose menj\u00ebher\u00eb t\u00eb referoheni n\u00eb shembujt vizual\u00eb n\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/deemru\/WavesKit\/blob\/2c4937199c88bc4ae105f60657b1389482471c1f\/test\/selftest.php#L237\">provimet e integrimit t\u00eb vazhduesh\u00ebm.<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p>Duke qen\u00eb se WavesKit \u00ebsht\u00eb zhvilluar n\u00eb kushte t\u00eb p\u00ebrdorimit real, ajo tashm\u00eb ka karakteristika t\u00eb avancuara. Karakteristika e par\u00eb vrastare \u2014 \u00ebsht\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/deemru\/WavesKit\/blob\/master\/docs\/WavesKit.md#waveskitensure\">funksioni ensure<\/a><\/noindex>, i cili kontrollon arritjen e nivelit t\u00eb k\u00ebrkuar t\u00eb siguris\u00eb, q\u00eb transaksioni nuk \u00ebsht\u00eb humbur, por p\u00ebrkundrazi, \u00ebsht\u00eb konfirmuar dhe ka arritur numrin e nevojsh\u00ebm t\u00eb konfirmimeve n\u00eb rrjet.<\/p>\n<p><\/p>\n<p>Nj\u00eb mekaniz\u00ebm tjet\u00ebr i pakaluesh\u00ebm \u2014 \u00ebsht\u00eb si WavesKit komunikon me nodet. N\u00eb kushte ser\u00eb, korniza punon vet\u00ebm me nodin kryesor, duke mbajtur nj\u00eb lidhje t\u00eb vazhdueshme me t\u00eb, por n\u00eb raste gabimi mund t\u00eb kaloj\u00eb automatikisht n\u00eb rezerva. N\u00ebse vendosni nj\u00eb masiv nodash rezerv\u00eb, mund t\u00eb th\u00ebrrisni funksionin <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/deemru\/WavesKit\/blob\/master\/docs\/WavesKit.md#waveskitsetbestnode\">setBestNode<\/a><\/noindex> p\u00ebr t\u00eb p\u00ebrcaktuar nodin m\u00eb t\u00eb mir\u00eb si kryesor n\u00eb baz\u00eb t\u00eb vler\u00ebs maksimale t\u00eb lart\u00ebsis\u00eb aktuale dhe shpejt\u00ebsis\u00eb s\u00eb p\u00ebrgjigjes. Tani shtoni k\u00ebt\u00eb nj\u00eb memorje t\u00eb brendshme t\u00eb k\u00ebrkesave dhe ndjeni kujdesin p\u00ebr p\u00ebrdoruesit dhe pronar\u00ebt e nodave.<\/p>\n<p><\/p>\n<p>Nj\u00eb nga mekanizmat e fundit t\u00eb avancuar \u2014 funksioni <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/deemru\/WavesKit\/blob\/master\/docs\/WavesKit.md#waveskittxmonitor\">txMonitor<\/a><\/noindex>Ajo ajo n\u00eb lidhje me nevoj\u00ebn p\u00ebr t\u00eb reaguar ndaj transaksioneve t\u00eb ardhshme n\u00eb koh\u00eb reale. Kjo funksionalitet zgjidh plot\u00ebsisht t\u00eb gjitha \u00e7\u00ebshtjet q\u00eb lidhen me p\u00ebrpunimin e transaksioneve n\u00eb blockchain. Asnj\u00eb dhimbje m\u00eb, thjesht vendosni funksionin tuaj t\u00eb kthimit me opsionet e d\u00ebshiruara dhe prisni transaksionet e reja q\u00eb do t\u00eb nisin proceset tuaja. P\u00ebr shembull, nj\u00eb tjet\u00ebr projekt im <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/deemru\/VECRO\">VECRO<\/a><\/noindex> \u00ebsht\u00eb nd\u00ebrtuar plot\u00ebsisht rreth k\u00ebsaj funksionaliteti, mund ta studioni leht\u00ebsisht se si funksionon drejtp\u00ebrdrejt <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/deemru\/VECRO\/blob\/85d8373de56baff7c05697475211633b521bca7d\/src\/VECRO.php#L80\">n\u00eb kodin e projektit<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p>M\u00eb p\u00eblqen open source, \u00ebsht\u00eb nj\u00eb nga arritjet m\u00eb t\u00eb m\u00ebdha t\u00eb njer\u00ebzimit. Duke qen\u00eb se jam zhvilluesi i vet\u00ebm dhe kam arritur nj\u00eb gjendje ku t\u00eb gjitha nevojat e mia jan\u00eb zgjidhur, ju ftoj t\u00eb p\u00ebrdorni dhe t\u00eb kontriboni n\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/deemru\/WavesKit\">WavesKit<\/a><\/noindex>.<\/p>\n<p>Burimi: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/446110\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041c\u043d\u0435 \u043d\u0440\u0430\u0432\u0438\u0442\u0441\u044f PHP \u0437\u0430 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0438 \u043e\u0442\u043b\u0438\u0447\u043d\u0443\u044e \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u043c\u043e\u0441\u0442\u044c. \u042d\u0442\u043e \u043e\u0447\u0435\u043d\u044c \u0445\u043e\u0440\u043e\u0448\u043e, \u043a\u043e\u0433\u0434\u0430 \u0432 \u043a\u0430\u0440\u043c\u0430\u043d\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u0438\u043c\u0435\u0435\u0442\u0441\u044f \u0433\u043e\u0442\u043e\u0432\u044b\u0439 \u043a \u0440\u0435\u0448\u0435\u043d\u0438\u044e \u0437\u0430\u0434\u0430\u0447 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442. \u0411\u044b\u043b\u043e \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u043e\u0431\u0438\u0434\u043d\u043e, \u043a\u043e\u0433\u0434\u0430 \u043f\u0440\u0438 \u0437\u043d\u0430\u043a\u043e\u043c\u0441\u0442\u0432\u0435 \u0441 \u043e\u0442\u0435\u0447\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u043c \u0431\u043b\u043e\u043a\u0447\u0435\u0439\u043d\u043e\u043c Waves Platform \u0432 \u0435\u0433\u043e \u0430\u0440\u0441\u0435\u043d\u0430\u043b\u0435 \u043d\u0435 \u043e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c \u0433\u043e\u0442\u043e\u0432\u043e\u0433\u043e SDK \u043d\u0430 PHP. \u0427\u0442\u043e \u0436, \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u0435\u0433\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c. \u041f\u043e\u043d\u0430\u0447\u0430\u043b\u0443 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u043b\u043e\u0441\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043d\u043e\u0434\u044b \u0434\u043b\u044f \u043f\u043e\u0434\u043f\u0438\u0441\u0438 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0439. \u0422\u0430\u043a, [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-30639","post","type-post","status-publish","format-standard","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041c\u043d\u0435 \u043d\u0440\u0430\u0432\u0438\u0442\u0441\u044f PHP \u0437\u0430 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0438 \u043e\u0442\u043b\u0438\u0447\u043d\u0443\u044e \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u043c\u043e\u0441\u0442\u044c.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/waveskit-php-frejmvork-dlya-raboty-s-blokchejnom-waves\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"sq_AL\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47WavesKit \u2014 PHP \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0431\u043b\u043e\u043a\u0447\u0435\u0439\u043d\u043e\u043c Waves | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041c\u043d\u0435 \u043d\u0440\u0430\u0432\u0438\u0442\u0441\u044f PHP \u0437\u0430 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0438 \u043e\u0442\u043b\u0438\u0447\u043d\u0443\u044e \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u043c\u043e\u0441\u0442\u044c.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/waveskit-php-frejmvork-dlya-raboty-s-blokchejnom-waves\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T18:36:39+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:36:39+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47WavesKit \u2014 PHP framework p\u00ebr pun\u00ebn me blockchain Waves | ProHoster","description":"M\u00eb p\u00eblqen PHP p\u00ebr shpejt\u00ebsin\u00eb e zhvillimit dhe portabilitetin e shk\u00eblqyer.","canonical_url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/waveskit-php-frejmvork-dlya-raboty-s-blokchejnom-waves","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sq_AL","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47WavesKit \u2014 PHP \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0431\u043b\u043e\u043a\u0447\u0435\u0439\u043d\u043e\u043c Waves | ProHoster","og:description":"\u041c\u043d\u0435 \u043d\u0440\u0430\u0432\u0438\u0442\u0441\u044f PHP \u0437\u0430 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0438 \u043e\u0442\u043b\u0438\u0447\u043d\u0443\u044e \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u043c\u043e\u0441\u0442\u044c.","og:url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/waveskit-php-frejmvork-dlya-raboty-s-blokchejnom-waves","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T18:36:39+00:00","article:modified_time":"2019-10-31T18:36:39+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"30639","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-21 02:15:25","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 03:31:24","updated":"2026-01-21 02:15:25","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/30639","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/comments?post=30639"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/30639\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media?parent=30639"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/categories?post=30639"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/tags?post=30639"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}