WavesKit - Waves blockchain နှင့်အလုပ်လုပ်ရန်အတွက် PHP မူဘောင်

Мненравится PHP ကို ဖွံ့ဖြိုးတိုးတက်မှု၏အရှိန်အဟုန်နှင့်အလွန်ကောင်းမွန်သောသယ်ဆောင်ရလွယ်ကူမှုအတွက်။ သင့်အိတ်ကပ်ထဲမှာ ကိရိယာတစ်ခု အမြဲရှိနေရင် ပြဿနာတွေကို ဖြေရှင်းဖို့ အဆင်သင့်ဖြစ်တဲ့အခါ အရမ်းကောင်းပါတယ်။

ပြည်တွင်း blockchain နှင့်သိကျွမ်းသောအခါအတော်လေးရှက်စရာကောင်းသည်။ Waves Platform သူ့တွင် အဆင်သင့်လုပ်ထားသော PHP SDK မရှိပါ။ ရေးဖူးပါတယ်။

ပထမတော့ သုံးရတယ်။ ဆုံမှတ်များ အရောင်းအဝယ်လက်မှတ်ထိုးရန်။ ဒါကြောင့် လိပ်စာသုံးခုကို စီမံခန့်ခွဲဖို့အတွက် node သုံးခုကို ဖွင့်ဖို့ လိုအပ်ပါတယ်... ပြဿနာအချို့ကို ဖြေရှင်းနိုင်ပေမယ့် သနားစရာကောင်းတဲ့ မြင်ကွင်းတစ်ခုပါ။ ဆုံမှတ်များကို အားကိုးခြင်းသည် အဆုံးမရှိဟု နားလည်လာသည်အထိ။ ပထမအချက်မှာ အကန့်အသတ်ရှိသော လုပ်ဆောင်နိုင်စွမ်းကြောင့် ဖြစ်သည်။ API ကိုဒုတိယအချက်မှာ အရှိန်ကြောင့် (ထိုခေတ်က ဆုံမှတ်များသည် အလွန်နှေးကွေးသည်)။

အပြိုင်အလုပ်နှစ်ခုလုပ်တယ်။ တစ်ခုမှာ node API မှ လျင်မြန်ပြီး လုံးလုံးလျားလျား ကင်းစင်မည့် blockchain explorer ကို ပြုလုပ်ရန်ဖြစ်သည်။ ဒုတိယအချက်မှာ Waves Platform နှင့် လုပ်ဆောင်ရန်အတွက် လုပ်ဆောင်ချက်အားလုံးကို တစ်နေရာတည်းတွင် စုဆောင်းရန်ဖြစ်သည်။ ဤကဲ့သို့ ပရောဂျက်များ ပေါ်လာသည်။ w8io и WavesKit.

Waves blockchain ၏နောက်ကွယ်မှပထမခြေလှမ်းဖြစ်သည်။ w8io ဘရောက်ဆာ. လွယ်ကူသည်မဟုတ်ပေ၊ သို့သော် ကျွန်ုပ်တို့သည် လက်ကျန်အားလုံး၏ သီးခြားတွက်ချက်မှုကို ရေးနိုင်ခဲ့ပြီး မူလ node များပေါ်တွင် တွက်ချက်မှုများတွင် အမှားအယွင်းတစ်ခုကိုပင် ရှာတွေ့ခဲ့သည် (bug-bounty အစီအစဉ် စကားမစပ်၊ အဲဒါက သူတို့အတွက် အဆင်ပြေတယ်၊ ​​တွေ့ရှိတဲ့ အမှားတွေအတွက် ပေးတယ်။) ဤအကြောင်းအရာတွင် w8io browser ၏လုပ်ဆောင်နိုင်စွမ်းအကြောင်း ပိုမိုလေ့လာနိုင်သည်- https://forum.wavesplatform.com/t/w8io-waves-explorer-based-on-php-sqlite

w8io တွင် အလုပ်လုပ်နေစဉ်တွင် ကျွန်ုပ်သည် သံသယများ ရှိနေပြီဖြစ်သော်လည်း အလုပ်သည် ယုတ္တိတန်သောအဆုံးသတ်သို့ ရောက်ရှိသွားကာ SDK ကို စတင်ဖန်တီးသောအခါတွင် ကျွန်ုပ်၏သံသယများကို အတည်ပြုခဲ့ပါသည်။ အရေးကြီးဆုံးအရာများ၊ ကုဒ်ဝှက်စနစ်များအပါအဝင် အချို့သောလုပ်ဆောင်ချက်များကို ကျွန်ုပ်မတွေ့ပါ။ ထို့နောက် အခြေခံအုတ်မြစ်အတွက် ကျွန်ုပ်၏ကိုယ်ပိုင်အုတ်များဖြင့် စတင်ခဲ့ပါသည်။ ဤကဲ့သို့ မွေးဖွားလာခဲ့ကြသည်- ABCcode base58 သို့ encode လုပ်ရန် (တကယ်တော့ မည်သည့်အက္ခရာကိုမဆို encode လုပ်ရန်) Curve25519 လိုက်ဖက်ညီသော လက်မှတ်များကို ဖန်တီးရန်နှင့် အတည်ပြုရန် (ရွေးချယ်စရာများဖြင့် steroids များပေါ်တွင်), Blake2b hashes များထဲမှ တစ်ခုကို တွက်ချက်ရန် ( PHP 7.2 မှ စတင်၍ ရနိုင်သော) စသည်တို့ ဖြစ်သည်။

ဒီနေရာက ကျေးဇူးတင်ရမှာ Inala Kardanova လမ်းညွှန်ပေးသော အဖိုးတန်အကြံဉာဏ်အချို့အတွက် တေးရေးဆရာ ကျွန်ုပ်နှင့်ရင်းနှီးသော ဖိုင်များအစား ခေတ်မမီသော်လည်း၊

နှစ်လကြာပြီးနောက် WavesKit ကိုထွက်ရှိခဲ့ပါတယ်။ထွက်လာတယ်။ beta ဗားရှင်းများ ယခုအခါ 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 );

အထက်ဖော်ပြပါ ဥပမာတွင်၊ ကျွန်ုပ်တို့သည် “T” testnet တွင် အလုပ်လုပ်သော WavesKit အရာဝတ္ထုတစ်ခုကို ဖန်တီးသည်။ အများသူငှာသော့အပေါ် အခြေခံ၍ သော့များနှင့် အကောင့်လိပ်စာကို အလိုအလျောက်တွက်ချက်သည့် မျိုးစေ့စာစုတစ်ခုကို ကျွန်ုပ်တို့ ထည့်သွင်းပါသည်။ ထို့နောက်၊ ကျွန်ုပ်တို့သည် မျိုးစေ့စာပိုဒ်တိုကို အသုံးပြု၍ အလိုအလျောက်တွက်ချက်ထားသော လိပ်စာမှ လွှဲပို့ငွေ 0.00000001 Waves တစ်ခုကို ဖန်တီးပြီး ၎င်းကို သီးသန့်သော့ဖြင့် လက်မှတ်ရေးထိုးရန် လွှဲပြောင်းပြီး ကွန်ရက်သို့ ပေးပို့ပါ။ ၎င်းပြီးနောက်၊ ကျွန်ုပ်တို့သည် ငွေပေးငွေယူကို ကွန်ရက်မှ အောင်မြင်စွာ အတည်ပြုကြောင်း သေချာစေပါသည်။

အရောင်းအဝယ်ကိစ္စများတွင် အာရုံစိုက်လုပ်ကိုင်ပါ။ tx ဖြင့်စတင်သောလုပ်ဆောင်ချက်များ. အရောင်းအ၀ယ်လုပ်ငန်းကို ပိုမိုနားလည်သဘောပေါက်ရန်၊ သင်လေ့လာနိုင်သည်။ WavesKit စာရွက်စာတမ်း သို့မဟုတ် သရုပ်ဖော်ပုံဥပမာများသို့ ချက်ချင်းလှည့်ပါ။ စဉ်ဆက်မပြတ်ပေါင်းစပ်စမ်းသပ်မှုများ.

WavesKit ကို လက်တွေ့ကမ္ဘာသုံးအတွက် တီထွင်ထားသောကြောင့်၊ ၎င်းတွင် အဆင့်မြင့်အင်္ဂါရပ်များ ပါရှိပြီးဖြစ်သည်။ ပထမဆုံးလူသတ်သမား၏အင်္ဂါရပ်မှာ function ကိုသေချာငွေပေးငွေယူ မဆုံးရှုံးကြောင်း လိုအပ်သော ယုံကြည်မှုအဆင့်၏ အောင်မြင်မှုကို ထိန်းချုပ်ပေးသော၊ သို့သော် ဆန့်ကျင်ဘက်အနေနှင့်၊ အတည်ပြုပြီး ကွန်ရက်အတွင်းရှိ လိုအပ်သော အတည်ပြုချက်အရေအတွက်သို့ ရောက်ရှိသွားသည်။

နောက်ထပ် ကျည်ကာယန္တရားမှာ WavesKit သည် node များနှင့် ဆက်သွယ်ပုံဖြစ်သည်။ ဖန်လုံအိမ်အခြေအနေများတွင်၊ framework သည် main node နှင့်သာအလုပ်လုပ်ပြီး ၎င်းနှင့်အဆက်မပြတ်ချိတ်ဆက်မှုကိုထိန်းသိမ်းထားသော်လည်း အမှားအယွင်းများရှိပါက ၎င်းသည် backup များထံအလိုအလျောက်ပြောင်းနိုင်သည်။ Backup node များ array ကို သတ်မှတ်ပါက၊ function ကို ခေါ်နိုင်သည်။ setBestNode လက်ရှိ အမြင့်နှင့် တုံ့ပြန်မှုအမြန်နှုန်း၏ အမြင့်ဆုံးတန်ဖိုးကို အခြေခံ၍ အကောင်းဆုံး node ကို အဓိက ဆုံးဖြတ်ရန်။ ယခု ဤအတွင်းပိုင်း စုံစမ်းမှု ကက်ရှ်တစ်ခုသို့ ပေါင်းထည့်ကာ အသုံးပြုသူများနှင့် node ပိုင်ရှင်များအတွက် ဂရုစိုက်မှုခံစားရသည်။

နောက်ဆုံးပေါ်အဆင့်မြင့်ယန္တရားများထဲမှတစ်ခုမှာ function ဖြစ်သည်။ txMonitor. အချိန်နှင့်တပြေးညီ ဝင်လာသော ငွေပေးငွေယူများကို တုံ့ပြန်လိုသောကြောင့် ၎င်းသည် ပေါ်လာသည်။ ဤလုပ်ဆောင်ချက်သည် blockchain ရှိ ငွေပေးငွေယူလုပ်ဆောင်ခြင်းနှင့် ဆက်စပ်နေသော ကွဲလွဲချက်အားလုံးကို လုံးလုံးဖြေရှင်းပေးသည်။ နာကျင်မှုမရှိတော့ပါ၊ လိုချင်သောရွေးချယ်မှုများဖြင့် သင်၏ပြန်ခေါ်ခြင်းလုပ်ဆောင်ချက်ကို သတ်မှတ်ပြီး သင့်လုပ်ငန်းစဉ်များစတင်ရန် အရောင်းအ၀ယ်အသစ်များကို စောင့်ပါ။ ဥပမာ၊ ငါ့ရဲ့ နောက်ထပ် ပရောဂျက်တစ်ခု VECRO ဤလုပ်ဆောင်ချက်ကို အပြည့်အဝတည်ဆောက်ထားသောကြောင့် တိုက်ရိုက်အလုပ်လုပ်ပုံကို အလွယ်တကူ လေ့လာနိုင်ပါသည်။ ပရောဂျက်ကုဒ်ထဲမှာ.

Open Source ကို နှစ်သက်ပါတယ်၊ ဒါဟာ လူ့လောကရဲ့ အကြီးမားဆုံး အောင်မြင်မှုတွေထဲက တစ်ခုပါ။ ကျွန်ုပ်သည် တစ်ဦးတည်းသော ဆော့ဖ်ဝဲရေးသားသူဖြစ်ပြီး ကျွန်ုပ်၏လိုအပ်ချက်အားလုံးကို ဖြေရှင်းနိုင်သည့်အခြေအနေသို့ ရောက်ရှိနေပြီဖြစ်သောကြောင့် အသုံးပြုရန်နှင့် ပါဝင်ကူညီရန် ဖိတ်ခေါ်အပ်ပါသည်။ WavesKit.

source: www.habr.com

မှတ်ချက် Add