WavesKit - Waves blockchain සමඟ වැඩ කිරීම සඳහා PHP රාමුව

මම කැමතියි PHP සංවර්ධනයේ වේගය සහ විශිෂ්ට අතේ ගෙන යා හැකි බව සඳහා. ඔබේ සාක්කුවේ ගැටළු විසඳීම සඳහා ඔබ සැමවිටම මෙවලමක් සූදානම් කර ඇති විට එය ඉතා හොඳයි.

ගෘහස්ථ බ්ලොක්චේන් සමඟ දැන හඳුනා ගන්නා විට එය ලැජ්ජාවට කරුණකි තරංග වේදිකාව ඔහුගේ අවි ගබඩාවේ සූදානම් කළ PHP SDK එකක් තිබුණේ නැත. හොඳයි, මට එය ලිවීමට සිදු විය.

මුලදී මට භාවිතා කිරීමට සිදු විය නෝඩ් ගනුදෙනු අත්සන් කිරීමට. ඉතින්, ලිපින තුනක් කළමනාකරණය කිරීමට, ඔබට නෝඩ් තුනක් ධාවනය කිරීමට සිදු විය ... එය යම් යම් ගැටලු විසඳා ගත්තද එය කණගාටුදායක දසුනක් විය. නෝඩ් මත යැපීම මාරාන්තික බව අවබෝධය එන තුරු. පළමුව, සීමිත ක්රියාකාරිත්වය නිසා API, දෙවනුව, වේගය නිසා (ඒ දවස්වල නෝඩ් ඉතා මන්දගාමී විය).

මම සමාන්තර රැකියා දෙකක් ආරම්භ කළා. එකක් නම් වේගවත් හා node API වලින් සම්පූර්ණයෙන්ම ස්වාධීන වන blockchain Explorer එකක් සෑදීමයි. දෙවැන්න වන්නේ තරංග වේදිකාව සමඟ වැඩ කිරීම සඳහා සියලුම කාර්යයන් එක තැනක එකතු කිරීමයි. ව්‍යාපෘති ඇති වුණේ එහෙමයි. w8io и WavesKit.

Waves blockchain තිරය පිටුපස පළමු පියවර විය w8io බ්‍රව්සරය. එය පහසු නොවීය, නමුත් තවමත් සියලු ශේෂයන් ස්වාධීන ගණනය කිරීමක් ලිවීමට සහ මුල් නෝඩ් වල ගණනය කිරීම් වල දෝෂයක් සොයා ගැනීමට සමත් විය (bug bounty වැඩසටහන මාර්ගය වන විට, එය ඔවුන් සඳහා ක්රියා කරයි, ඔවුන් සොයාගත් දෝෂ සඳහා ගෙවනු ලැබේ). ඔබට මෙම ත්‍රෙඩ් එකෙන් w8io බ්‍රවුසරයේ ක්‍රියාකාරීත්වය ගැන වැඩිදුර ඉගෙන ගත හැක: https://forum.wavesplatform.com/t/w8io-waves-explorer-based-on-php-sqlite

w8io හි වැඩ කිරීමේ ක්‍රියාවලියේදී, මට දැනටමත් සැකයන් ඇති විය, නමුත් කාර්යය තාර්කික අවසානයකට පැමිණ මම SDK නිර්මාණය කිරීමට පටන් ගත් විට, මගේ සැකයන් තහවුරු විය. මට වඩාත්ම වැදගත් ගුප්ත ලේඛන ඇතුළත් සමහර කාර්යයන් කොතැනකවත් සොයාගත නොහැකි විය. ඊට පස්සේ මම මගේ අත්තිවාරම ගඩොල් සෑදීම ආරම්භ කළා. ඔවුන් ඉපදුණේ මෙහෙමයි. ABC කේතය Base58 තුළ කේතනය කිරීමට (ඇත්ත වශයෙන්ම ඕනෑම හෝඩියකට කේතනය කිරීමට), Curve25519 අනුකූල අත්සන් සෑදීමට සහ සත්‍යාපනය කිරීමට (විකල්ප සමඟ ස්ටෙරොයිඩ් මත), බ්ලේක් 2 බී හෑෂ් වලින් එකක් ගණනය කිරීමට (එය ඇත්තේ PHP 7.2 සිට පමණි) ආදිය.

මෙන්න මම ස්තුති කළ යුතුයි ඉනාලා කාර්ඩනෝවා මා වෙත යොමු වූ වටිනා උපදෙස් කිහිපයක් සඳහා නිර්මාපකයෙකු මට සාමාන්‍ය දේ වෙනුවට, නමුත් යල් පැන ගිය, ගොනු ඇතුළත් කරන්න.

මාස දෙකකට පසු WavesKit දිවා ආලෝකය දුටුවේය, එලියට එන්න බීටා අනුවාද සහ දැන් Waves වේදිකාවේ සියලුම සම්මත ක්‍රියාකාරීත්වය සමඟ වැඩ කිරීමට සූදානම්. සියල්ල ලබා ගත හැක ප්රධාන ජාලය 64 ඇතුළුව PHP හි සියලුම 5.6-bit අනුවාදවල ක්‍රියාත්මක වන එක් පැකේජයක් සමඟ ගනුදෙනු පහසුවෙන් නිර්මාණය කිරීමට, අත්සන් කිරීමට සහ යැවීමට හැකිය.

අපි WavesKit අපගේ ව්‍යාපෘතියට සම්බන්ධ කරමු:

composer require deemru/waveskit

අපි පාවිච්චි කරන්නේ:

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

ඉහත උදාහරණයේදී, අපි testnet "T" මත ධාවනය වන WavesKit වස්තුවක් නිර්මාණය කරමු. අපි බීජ වාක්‍ය ඛණ්ඩය සකසමු, එයින් ගිණුමේ යතුරු සහ ලිපිනය පොදු යතුර මත පදනම්ව ස්වයංක්‍රීයව ගණනය කෙරේ. මීලඟට, අපි හුවමාරු ගනුදෙනුවක් සාදන්නෙමු 0.00000001 ලිපිනයෙන් තරංග ස්වයංක්‍රීයව බීජ වාක්‍ය ඛණ්ඩයෙන් “පරීක්ෂණ” අන්වර්ථයේ ලිපිනයට ගණනය කර, පුද්ගලික යතුර සමඟ අත්සන සඳහා එය මාරු කර ජාලයට යවන්න. ඊට පසු, ගනුදෙනුව ජාලය විසින් සාර්ථකව තහවුරු කර ඇති බවට අපි සහතික වෙමු.

ගනුදෙනු කෙරෙහි අවධානය යොමු කෙරේ tx වලින් ආරම්භ වන කාර්යයන්. ගනුදෙනු සමඟ වැඩ කිරීම පිළිබඳ වඩා හොඳ අවබෝධයක් සඳහා, ඔබට අධ්යයනය කළ හැකිය WavesKit ලියකියවිලි හෝ සෘජුවම නිදර්ශන උදාහරණ වෙත යන්න අඛණ්ඩ ඒකාබද්ධතා පරීක්ෂණ.

WavesKit සැබෑ භාවිතය තුළ සංවර්ධනය කර ඇති බැවින්, එය දැනටමත් උසස් විශේෂාංග ඇත. පළමු මිනීමරු ලක්ෂණය වේ කාර්යය සහතික කිරීම, ගනුදෙනුව අහිමි නොවූ බවට අවශ්ය විශ්වාසයේ මට්ටම සාක්ෂාත් කර ගැනීම පාලනය කරන නමුත්, ඊට ප්රතිවිරුද්ධව, තහවුරු කර ඇති අතර ජාලය තුළ අවශ්ය තහවුරු කිරීම් සංඛ්යාව කරා ළඟා විය.

තවත් වෙඩි නොවදින යාන්ත්‍රණයක් වන්නේ WavesKit නෝඩ් සමඟ සන්නිවේදනය කරන ආකාරයයි. හරිතාගාර තත්වයන් තුළ, රාමුව ක්‍රියා කරන්නේ ප්‍රධාන නෝඩය සමඟ පමණි, එය සමඟ නිරන්තර සම්බන්ධතාවයක් පවත්වා ගෙන යයි, නමුත් දෝෂ වලදී එය ස්වයංක්‍රීයව උපස්ථ ඒවා වෙත මාරු විය හැකිය. ඔබ පොරොත්තු නෝඩ් මාලාවක් සකසන්නේ නම්, ඔබට ශ්‍රිතය ඇමතීමට හැකිය setBestNode වත්මන් උස සහ ප්‍රතිචාර වේගයේ උපරිම අගය අනුව ප්‍රධාන නෝඩය ලෙස හොඳම නෝඩය තීරණය කිරීමට. දැන් මෙයට අභ්‍යන්තර විමසුම් හැඹිලියක් එක් කර පරිශීලකයන් සහ නෝඩ් හිමිකරුවන් යන දෙදෙනාගේම සැලකිල්ල දැනෙන්න.

නවතම දියුණු යාන්ත්‍රණයක් වන්නේ ක්‍රියාකාරීත්වයයි txMonitor. එය සැබෑ කාලය තුළ පැමිණෙන ගනුදෙනු වලට ප්රතිචාර දැක්වීමේ අවශ්යතාව සම්බන්ධයෙන් පෙනී සිටියේය. මෙම කාර්යය බ්ලොක්චේන් හි ගනුදෙනු සැකසීම හා සම්බන්ධ සියලු සූක්ෂ්මතාවයන් සම්පූර්ණයෙන්ම විසඳයි. තවත් වේදනාවක් නැත, ඔබට අවශ්‍ය විකල්ප සමඟ ඔබගේ ආපසු ඇමතුම් ශ්‍රිතය සකසා ඔබගේ ක්‍රියාවලි ආරම්භ කිරීමට නව ගනුදෙනු සඳහා රැඳී සිටින්න. උදාහරණයක් ලෙස, මගේ තවත් ව්යාපෘතියක් VECRO සම්පූර්ණයෙන්ම මෙම කාර්යය වටා ගොඩනගා ඇති අතර, එය නිවැරදිව ක්රියා කරන ආකාරය ඔබට පහසුවෙන් ඉගෙන ගත හැකිය ව්යාපෘති කේතය තුළ.

මම විවෘත මූලාශ්‍රයට කැමතියි, එය මානව වර්ගයාගේ විශිෂ්ටතම ජයග්‍රහණවලින් එකකි. මම එකම සංවර්ධකයා වන අතර මගේ සියලු අවශ්‍යතා විසඳන තත්වයට පැමිණ ඇති බැවින්, භාවිතා කිරීමට සහ දායක වීමට මම ඔබට ආරාධනා කරමි WavesKit.

මූලාශ්රය: www.habr.com

අදහස් එක් කරන්න