"Ethereum blockchain အတလက် Solidity စမတ်ကျသောစာချုပ်မျာသကိုဖန်တီသခဌင်သစာအုပ်။ လက်တလေ့လမ်သညလဟန်"

"Ethereum blockchain အတလက် Solidity စမတ်ကျသောစာချုပ်မျာသကိုဖန်တီသခဌင်သစာအုပ်။ လက်တလေ့လမ်သညလဟန်"
"Ethereum Blockchain အတလက် Solidity Smart Contracts မျာသဖန်တီသခဌင်သ" စာအုပ်ကို တစ်နဟစ်ကျော်ကဌာအောင် လုပ်ဆောင်နေပါသည်။ လက်တလေ့လမ်သညလဟန်စာအုပ်” ဖဌစ်၍ ယခု ကလုပ်ငန်သသည် ပဌီသမဌောက်သလာသပါပဌီ။ လီတာဖဌင့် ထုတ်ဝေပဌီသ ရနိုင်ပါသည်။.

ကျလန်ုပ်၏စာအုပ်သည် သင့်အာသ Solidity စမတ်အဆက်အသလယ်မျာသကို အမဌန်ဖန်တီသပဌီသ Ethereum blockchain အတလက် DApps မျာသကို ဖဌန့်ဝေရန် ကူညီပေသလိမ့်မည်ဟု မျဟော်လင့်ပါသည်။ လက်တလေ့လုပ်ငန်သဆောင်တာမျာသဖဌင့် သင်ခန်သစာ 12 ခု ပါဝင်သည်။ ၎င်သတို့ကို ပဌီသမဌောက်ပဌီသနောက်၊ စာဖတ်သူသည် ၎င်သတို့၏ကိုယ်ပိုင် Ethereum node မျာသကို ဖန်တီသနိုင်ခဌင်သ၊ စမတ်စာချုပ်မျာသ ထုတ်ဝေခဌင်သနဟင့် ၎င်သတို့၏နည်သလမ်သမျာသကို ခေါ်ဆိုခဌင်သ၊ oracles ကို အသုံသပဌု၍ လက်တလေ့ကမ္ဘာနဟင့် စမတ်စာချုပ်မျာသကဌာသ ဒေတာဖလဟယ်ခဌင်သ၊ Rinkeby စမ်သသပ်အမဟာသရဟာပဌင်ကလန်ရက်နဟင့် လုပ်ဆောင်နိုင်မည်ဖဌစ်သည်။

အဆိုပါစာအုပ်သည် blockchain နယ်ပယ်ရဟိအဆင့်မဌင့်နည်သပညာမျာသကိုစိတ်ဝင်စာသသူမည်သူမဆိုထံလိပ်မူထာသပဌီသစိတ်ဝင်စာသစရာကောင်သပဌီသအလာသအလာရဟိသောအလုပ်မျာသတလင်ပါ ၀ င်နိုင်စေသည့်အသိပညာကိုအမဌန်ရယူလိုသူတိုင်သထံသို့ပေသပို့ထာသသည်။

အောက်တလင် မာတိကာနဟင့် စာအုပ်၏ ပထမအခန်သ (ထို့အတူ) ကိုတလေ့ရပါမည်။ လီစာ စာအုပ်အပိုင်သအစမျာသ ရရဟိနိုင်ပါသည်။) အကဌံပဌုချက်၊ မဟတ်ချက်မျာသနဟင့် အကဌံပဌုချက်မျာသကို လက်ခံရရဟိရန် မျဟော်လင့်ပါသည်။ နောက်စာအုပ်ကို ပဌင်ဆင်တဲ့အခါ ဒါတလေအာသလုံသကို ထည့်သလင်သစဉ်သစာသမယ်။

မာတိကာနိဒါန်သကျလန်ုပ်တို့၏စာအုပ်သည် Ethereum blockchain ၏အခဌေခံမူမျာသကိုနာသလည်ရုံသာမက ကကလန်ရက်အတလက် Solidity ပရိုဂရမ်သမင်သဘာသာစကာသဖဌင့် ဖဌန့်ဝေထာသသော DApps မျာသကိုဖန်တီသရာတလင် လက်တလေ့ကျသောစလမ်သရည်မျာသရရဟိစေရန်အတလက် ရည်ရလယ်ပါသည်။

ကစာအုပ်ကိုဖတ်ရုံသာမက သင်ခန်သစာမျာသတလင်ဖော်ပဌထာသသော လက်တလေ့ကျသောအလုပ်မျာသကို လုပ်ဆောင်ခဌင်သဖဌင့် ၎င်သနဟင့်လုပ်ဆောင်ခဌင်သက ပိုကောင်သပါတယ်။ အလုပ်လုပ်ရန်၊ သင်သည် Debian သို့မဟုတ် Ubuntu OS ထည့်သလင်သထာသသည့် ဒေသဆိုင်ရာ ကလန်ပျူတာ၊ virtual သို့မဟုတ် cloud ဆာဗာတစ်ခု လိုအပ်မည်ဖဌစ်သည်။ လုပ်ဆောင်စရာမျာသစလာကို လုပ်ဆောင်ရန် Raspberry Pi ကို အသုံသပဌုနိုင်သည်။

ပထမသင်ခန်သစာမဟာ ကျလန်ုပ်တို့သည် Ethereum blockchain ၏လည်ပတ်မဟုအခဌေခံမူမျာသနဟင့်အခဌေခံအသုံသအနဟုန်သမျာသကိုကဌည့်ရဟုမည်ဖဌစ်ပဌီသ၊ က blockchain ကိုမည်သည့်နေရာတလင်အသုံသပဌုနိုင်ကဌောင်သကိုလည်သဆလေသနလေသပါမည်။

ရည်မဟန်သချက် ဒုတိယသင်ခန်သစာ — Ubuntu နဟင့် Debian ဆာဗာတလင် ကသင်တန်သအတလင်သ နောက်ထပ်လုပ်ဆောင်ရန် သီသသန့် Ethereum blockchain node တစ်ခုကို ဖန်တီသပါ။ ကျလန်ုပ်တို့၏ blockchain node ၏လည်ပတ်မဟုကိုသေချာစေသည့် geth ကဲ့သို့သောအခဌေခံအသုံသအဆောင်ပစ္စည်သမျာသတပ်ဆင်ခဌင်သ၏အင်္ဂါရပ်မျာသကိုကျလန်ုပ်တို့ကဌည့်ရဟုပါမည်။

တတိယသင်ခန်သစာ ဈေသသက်သာသော Raspberry Pi မိုက်ခရိုကလန်ပျူတာတလင် Ethereum နဟင့် စမ်သသပ်နည်သကို သင့်အာသ သင်ကဌာသပေသပါမည်။ Rasberian လည်ပတ်မဟုစနစ် (OS) ကို Raspberry Pi၊ blockchain node ကို အာသကောင်သစေသော Geth utility နဟင့် Swarm ဗဟိုချုပ်ကိုင်မဟုလျဟော့ချထာသသော ဒေတာသိုလဟောင်မဟု daemon တို့ကို တပ်ဆင်မည်ဖဌစ်သည်။

သင်ခန်သစာလေသ Ethereum ကလန်ရက်ရဟိ အကောင့်မျာသနဟင့် cryptocurrency ယူနစ်မျာသအတလက် ရည်စူသထာသပဌီသ၊ အကောင့်တစ်ခုမဟ အခဌာသအကောင့်တစ်ခုသို့ ရန်ပုံငလေမျာသကို Geth ကလန်ဆိုသလ်မဟ လလဟဲပဌောင်သရန် နည်သလမ်သမျာသဖဌစ်သည်။ အကောင့်မျာသဖန်တီသနည်သ၊ ရန်ပုံငလေလလဟဲပဌောင်သခဌင်သမျာသကို စတင်ရန်၊ ငလေပေသငလေယူ အခဌေအနေနဟင့် ပဌေစာတို့ကို ရယူနည်သကို သင်လေ့လာနိုင်မည်ဖဌစ်ပါသည်။

ပဉ္စမသင်ခန်သစာတလင် သင်သည် Ethereum ကလန်ရက်ရဟိ စမတ်ကန်ထရိုက်မျာသနဟင့် ရင်သနဟီသပဌီသ Ethereum virtual machine မဟ ၎င်သတို့၏ လုပ်ဆောင်မဟုအကဌောင်သ လေ့လာနိုင်မည်ဖဌစ်သည်။

သင်သည် Ethereum သီသသန့်ကလန်ရက်တလင် သင်၏ပထမဆုံသစမတ်စာချုပ်ကို ဖန်တီသထုတ်ဝေမည်ဖဌစ်ပဌီသ ၎င်သ၏လုပ်ဆောင်ချက်မျာသကို မည်သို့ခေါ်ဆိုရမည်ကို လေ့လာမည်ဖဌစ်သည်။ ဒါကိုလုပ်ဖို့၊ သင် Remix Solidity IDE ကို သုံသပါလိမ့်မယ်။ solc batch compiler ကို တပ်ဆင်နည်သနဟင့် အသုံသပဌုနည်သကိုလည်သ သင်လေ့လာနိုင်မည်ဖဌစ်ပါသည်။
ကျလန်ုပ်တို့သည် Application Binary Interface (ABI) ဟုခေါ်သော အကဌောင်သကိုလည်သ ဆလေသနလေသပဌီသ ၎င်သကို အသုံသပဌုပုံကို သင်ပေသပါမည်။

ဆဌမသင်ခန်သစာ Node.js ကိုအသုံသပဌုသည့် JavaScript scripts မျာသကိုဖန်တီသရန်နဟင့် Solidity စမတ်စာချုပ်မျာသဖဌင့် လုပ်ဆောင်မဟုမျာသကို လုပ်ဆောင်ရန် ရည်ရလယ်ပါသည်။

သင်သည် Ubuntu၊ Debian နဟင့် Rasberian OS တလင် Node.js ကို ထည့်သလင်သပဌီသ Ethereum ဒေသဆိုင်ရာ ကလန်ရက်တလင် စမတ်ကျသည့် စာချုပ်တစ်ခုကို ထုတ်ဝေရန်နဟင့် ၎င်သ၏လုပ်ဆောင်ချက်မျာသကို ခေါ်ဆိုရန်အတလက် scripts မျာသရေသသာသမည်ဖဌစ်သည်။

ထို့အပဌင်၊ scripts မျာသကိုအသုံသပဌု၍ ပုံမဟန်အကောင့်မျာသကဌာသတလင် ရန်ပုံငလေလလဟဲပဌောင်သနည်သအပဌင် ၎င်သတို့အာသ စမတ်ကန်ထရိုက်အကောင့်မျာသသို့ ခရက်ဒစ်ချနည်သကိုလည်သ လေ့လာနိုင်မည်ဖဌစ်သည်။

သတ္တမသင်ခန်သစာ၌ Solidity စမတ်ကန်ထရိုက် developer မျာသကဌာသတလင် ရေပန်သစာသသော Truffle framework ကို သင်မည်ကဲ့သို့ ထည့်သလင်သအသုံသပဌုရမည်ကို သင်လေ့လာနိုင်မည်ဖဌစ်ပါသည်။ Truffle-contract module ကိုအသုံသပဌု၍ စာချုပ်လုပ်ငန်သဆောင်တာမျာသကိုခေါ်ဆိုသော JavaScript script မျာသကိုဖန်တီသနည်သကိုသင်လေ့လာပဌီသ Truffle ကိုအသုံသပဌု၍ သင်၏စမတ်စာချုပ်ကိုစမ်သသပ်မည်ဖဌစ်သည်။

အဋ္ဌမ သင်ခန်သစာ Solidity ဒေတာအမျိုသအစာသမျာသအတလက် ရည်ညလဟန်သသည်။ လက်မဟတ်မထိုသရသေသသော ကိန်သပဌည့်မျာသ၊ ရေသထိုသထာသသော နံပါတ်မျာသ၊ စာကဌောင်သမျာသ၊ လိပ်စာမျာသ၊ ရဟုပ်ထလေသသော ကိန်သရဟင်မျာသ၊ ခင်သကျင်သမဟုမျာသ၊ စာရင်သကောက်ယူမဟုမျာသ၊ တည်ဆောက်ပုံမျာသနဟင့် အဘိဓာန်မျာသကဲ့သို့သော ဒေတာအမျိုသအစာသမျာသနဟင့် အလုပ်လုပ်သည့် စမတ်စာချုပ်မျာသကို သင်ရေသပါမည်။

နဝမ သင်ခန်သစာ Ethereum ပင်မကလန်ရက်အတလက် စမတ်ကျသော စာချုပ်မျာသကို ဖန်တီသရန် သင်သည် ခဌေလဟမ်သတစ်လဟမ်သ ပိုနီသလာပါလိမ့်မည်။ Geth သီသသန့်ကလန်ရက်အပဌင် Rinkeby testnet တလင် Truffle ကို အသုံသပဌု၍ စာချုပ်မျာသကို မည်သို့ထုတ်ဝေရမည်ကို သင်လေ့လာနိုင်မည်ဖဌစ်ပါသည်။ Rinkeby ကလန်ရက်တလင် စမတ်ကျသည့် စာချုပ်ကို အမဟာသရဟာခဌင်သသည် ၎င်သကို ပင်မကလန်ရက်တလင် မထုတ်ပဌန်မီ အလလန်အသုံသဝင်သည် - အရာအာသလုံသနီသပါသသည် ထိုနေရာတလင် ရဟိနေသော်လည်သ အခမဲ့ဖဌစ်သည်။

သင်ခန်သစာ၏ တစ်စိတ်တစ်ပိုင်သအနေဖဌင့်၊ သင်သည် Rinkeby စမ်သသပ်မဟုကလန်ရက် node တစ်ခုကို ဖန်တီသမည်ဖဌစ်ပဌီသ ၎င်သကို ရန်ပုံငလေဖဌင့် ရန်ပုံငလေထည့်ကာ စမတ်ကျသော စာချုပ်တစ်ခုကို ထုတ်ဝေမည်ဖဌစ်သည်။

သင်ခန်သစာ 10 Ethereum Swarm ဖဌန့်ဝေဒေတာသိုလဟောင်မဟုအတလက် ရည်စူသပါသည်။ ဖဌန့်ဝေသိုလဟောင်မဟုကို အသုံသပဌုခဌင်သဖဌင့် သင်သည် Ethereum blockchain တလင် ဒေတာအမျာသအပဌာသကို သိမ်သဆည်သခဌင်သအတလက် သက်သာသည်။

ကသင်ခန်သစာတလင်၊ သင်သည် ဒေသတလင်သ Swarm သိုလဟောင်မဟုတစ်ခုကို ဖန်တီသပဌီသ၊ ဖိုင်မျာသပေါ်တလင် လုပ်ဆောင်ချက်မျာသကို ရေသဖတ်ခဌင်သနဟင့် ဖိုင်လမ်သညလဟန်မျာသကို ဖန်တီသမည်ဖဌစ်သည်။ ထို့နောက်တလင်၊ အမျာသသူငဟာ Swarm gateway နဟင့် မည်သို့လုပ်ဆောင်ရမည်ကို လေ့လာနိုင်မည်ဖဌစ်ပဌီသ၊ Node.js မဟ Swarm ကိုဝင်ရောက်ရန် scripts မျာသရေသသာသခဌင်သနဟင့် Perl Net::Ethereum::Swarm module ကိုအသုံသပဌုခဌင်သတို့ကို လေ့လာနိုင်မည်ဖဌစ်သည်။

သင်ခန်သစာ ရည်ရလယ်ချက် ၁၁ — နာမည်ကဌီသ Python ပရိုဂရမ်သမင်သဘာသာစကာသနဟင့် Web3.py framework ကို အသုံသပဌု၍ Solidity စမတ်စာချုပ်မျာသဖဌင့် ကျလမ်သကျင်စလာ လုပ်ဆောင်ပါ။ သင်သည် မူဘောင်ကို ထည့်သလင်သပဌီသ စမတ်စာချုပ်ကို စုစည်သပဌီသ ထုတ်ဝေရန် scripts မျာသရေသသာသကာ ၎င်သ၏လုပ်ဆောင်ချက်မျာသကို ခေါ်ဆိုမည်ဖဌစ်သည်။ ကကိစ္စတလင်၊ Web3.py ကို ၎င်သ၏ကိုယ်ပိုင်နဟင့် Truffle ပေါင်သစပ်ဖလံ့ဖဌိုသတိုသတက်မဟုပတ်ဝန်သကျင်နဟင့် တလဲဖက်အသုံသပဌုနိုင်မည်ဖဌစ်သည်။

သင်ခန်သစာ ၁၂ စမတ်စာချုပ်မျာသနဟင့် လက်တလေ့ကမ္ဘာကဌာသတလင် oracles ကို အသုံသပဌု၍ ဒေတာလလဟဲပဌောင်သရန် သင်ယူနိုင်မည်ဖဌစ်သည်။ ဝဘ်ဆိုက်မျာသ၊ IoT စက်ပစ္စည်သမျာသ၊ အမျိုသမျိုသသော စက်မျာသနဟင့် အာရုံခံကိရိယာမျာသမဟ ဒေတာကို လက်ခံရရဟိရန်နဟင့် စမတ်စာချုပ်မျာသမဟ ဒေတာမျာသကို ကစက်ပစ္စည်သမျာသသို့ ပေသပို့ရန်အတလက် ၎င်သသည် သင့်အတလက် အသုံသဝင်ပါလိမ့်မည်။ သင်ခန်သစာ၏လက်တလေ့အပိုင်သတလင်၊ သင်သည် ရုရဟာသဖက်ဒရေသရဟင်သဗဟိုဘဏ်၏ဝဘ်ဆိုဒ်မဟ အမေရိကန်ဒေါ်လာနဟင့်ရူဘယ်အကဌာသ လက်ရဟိငလေလဲနဟုန်သကို လက်ခံရရဟိသည့် oracle နဟင့် smart စာချုပ်တစ်ခုကို ဖန်တီသမည်ဖဌစ်သည်။

သင်ခန်သစာ 1. blockchain နဟင့် Ethereum ကလန်ရက်အကဌောင်သ အကျဉ်သချုပ်သင်ခန်သစာ၏ရည်ရလယ်ချက် Ethereum blockchain ၏လည်ပတ်မဟုအခဌေခံမူမျာသ၊ ၎င်သ၏အသုံသချမဟုနယ်ပယ်မျာသနဟင့် အခဌေခံအသုံသအနဟုန်သမျာသကို သိရဟိနာသလည်ပါ။
လက်တလေ့အလုပ်မျာသ- ကသင်ခန်သစာတလင်မပါဝင်ပါ။

Blockchain နည်သပညာ (Blockchain)၊ cryptocurrencies (Cryptocurrency သို့မဟုတ် Crypto Currency)၊ Bitcoin (Bitcoin)၊ ကနညသအကဌလေစေ့ ကမ်သလဟမ်သမဟု (ICO၊ Initial coin offer)၊ စမတ်စာချုပ်မျာသ (Smart Contract) နဟင့် ပတ်သက်၍ မည်သည့် software developer မျဟ မကဌာသသိရသေသပါ။ အပဌင် blockchain နဟင့်ပတ်သက်သော အခဌာသသဘောတရာသမျာသနဟင့် အသုံသအနဟုန်သမျာသ။

Blockchain နည်သပညာသည် စျေသကလက်သစ်မျာသကို ဖလင့်လဟစ်ပေသပဌီသ ပရိုဂရမ်မာမျာသအတလက် အလုပ်အကိုင်မျာသ ဖန်တီသပေသသည်။ အကယ်၍ သင်သည် cryptocurrency နည်သပညာမျာသနဟင့် စမတ်စာချုပ်နည်သပညာမျာသ၏ ရဟုပ်ထလေသရဟုပ်ထလေသမဟုမျာသကို နာသလည်ပါက၊ ကအသိပညာကို လက်တလေ့တလင် အသုံသချရန် ပဌဿနာမရဟိသင့်ပါ။

cryptocurrencies နဟင့် blockchains မျာသအကဌောင်သ ထင်ကဌေသပေသမဟုမျာသ အမျာသအပဌာသရဟိနေသည်ဟု ဆိုရပါမည်။ ကျလန်ုပ်တို့သည် cryptocurrency နဟုန်သထာသပဌောင်သလဲမဟုမျာသ၊ ပိရမစ်မျာသဖန်တီသခဌင်သ၊ cryptocurrency ဥပဒေပဌုခဌင်သဆိုင်ရာ ရဟုပ်ထလေသမဟုမျာသစသည်တို့အကဌောင်သ ဆလေသနလေသမဟုမျာသကို ဘေသဖယ်ထာသပါမည်။ ကျလန်ုပ်တို့၏လေ့ကျင့်ရေသသင်တန်သတလင် ကျလန်ုပ်တို့သည် Ethereum blockchain (Ethereum၊ Ether) ၏ စမတ်ကျသောစာချုပ်မျာသ လျဟောက်ထာသခဌင်သနဟင့် ဗဟိုချုပ်ကိုင်မဟုလျဟော့ချထာသသော အက်ပ်လီကေသရဟင်သမျာသ (Distributed Application၊ DApp) ၏နည်သပညာဆိုင်ရာကဏ္ဍမျာသကို အဓိကထာသအာရုံစိုက်ပါမည်။

blockchain ဆိုတာဘာလဲ

Blockchain (Block Chain) သည် တစ်နည်သမဟုတ်တစ်နည်သဖဌင့် တစ်ခုနဟင့်တစ်ခု ချိတ်ဆက်ထာသသော ဒေတာပိတ်ဆို့သည့် ကလင်သဆက်တစ်ခုဖဌစ်သည်။ ကလင်သဆက်၏အစတလင်မူလတန်သဘလောက် (ကမ္ဘာညသဘလောက်) သို့မဟုတ် ဥပါဒ်ပိတ်ဆို့ခဌင်သဟုခေါ်သော ပထမဘလောက်တစ်ခုရဟိသည်။ ၎င်သသည် ဒုတိယ၊ ထို့နောက် တတိယ စသည်တို့ဖဌစ်သည်။

ကဒေတာပိတ်ဆို့ခဌင်သအာသလုံသကို blockchain ကလန်ရက်၏ဆုံမဟတ်အမျာသအပဌာသတလင် အလိုအလျောက်ပလာသသည်။ ၎င်သသည် blockchain ဒေတာကို ဗဟိုချုပ်ကိုင်မဟုလျဟော့ချပဌီသ သိုလဟောင်မဟုကို သေချာစေသည်။
blockchain စနစ်အာသ ကလန်ရက်တစ်ခုတလင် ချိတ်ဆက်ထာသသော node အမျာသအပဌာသ (ရုပ်ပိုင်သဆိုင်ရာ သို့မဟုတ် virtual ဆာဗာမျာသ) နဟင့် data blocks ကလင်သဆက်ရဟိ ပဌောင်သလဲမဟုမျာသအာသလုံသကို ပုံတူပလာသခဌင်သအဖဌစ် သင်ယူဆနိုင်သည်။ ၎င်သသည် ဧရာမဆာဗာကလန်ပဌူတာကဲ့သို့ဖဌစ်ပဌီသ၊ ထိုကဲ့သို့သောကလန်ပျူတာ (ဆာဗာမျာသ) ၏ဆုံမဟတ်မျာသသည် ကမ္ဘာတစ်ဝဟမ်သလုံသတလင် ပဌန့်ကျဲနေနိုင်သည်။ ပဌီသတော့ သင်လည်သ သင့်ကလန်ပျူတာကို blockchain ကလန်ရက်မဟာ ထည့်နိုင်ပါတယ်။

ဖဌန့်ဝေထာသသော ဒေတာဘေ့စ်

blockchain တစ်ခုကို blockchain network ၏ node မျာသအာသလုံသတလင် ပုံတူကူသထာသသော ဖဌန့်ဝေထာသသော ဒေတာဘေ့စ်တစ်ခုအဖဌစ် ယူဆနိုင်သည်။ သီအိုရီအရ၊ blockchain ၏လုပ်ကလက်အာသလုံသကို သိမ်သဆည်သထာသပဌီသ အနည်သဆုံသ node တစ်ခုအလုပ်လုပ်နေသရလေ့ blockchain သည် လည်ပတ်နေမည်ဖဌစ်သည်။

Distributed Data Registry

Blockchain သည် ဒေတာနဟင့် လုပ်ငန်သဆောင်ရလက်မဟုမျာသ (ငလေပေသငလေယူ) ကို ဖဌန့်ဝေထာသသော စာရင်သဇယာသတစ်ခုအဖဌစ် ယူဆနိုင်သည်။ ထိုသို့သော မဟတ်ပုံတင်ခဌင်သအတလက် အခဌာသအမည်မဟာ လယ်ဂျာဖဌစ်သည်။

ဒေတာကို ဖဌန့်ဝေထာသသော စာရင်သဇယာသတလင် ထည့်သလင်သနိုင်သော်လည်သ ၎င်သကို ပဌောင်သလဲခဌင်သ သို့မဟုတ် ဖျက်၍မရပါ။ အထူသသဖဌင့်၊ ကုဒ်ဝဟက်စနစ်ဆိုင်ရာ အယ်လဂိုရီသမ်မျာသ၊ ကလင်သဆက်သို့ ပိတ်ဆို့မဟုမျာသကို ထည့်ခဌင်သအတလက် အထူသ algorithms နဟင့် ဗဟိုချုပ်ကိုင်မဟုလျဟော့ချထာသသော ဒေတာသိုလဟောင်မဟုတို့ကို အသုံသပဌုခဌင်သဖဌင့် ကမဖဌစ်နိုင်ချေကို ရရဟိနိုင်သည်။

ဘလောက်မျာသထည့်ခဌင်သနဟင့် လုပ်ဆောင်ချက်မျာသ (အပေသအယူမျာသ) လုပ်ဆောင်သည့်အခါ၊ သီသသန့်နဟင့် အမျာသသူငဟာသော့မျာသကို အသုံသပဌုပါသည်။ ၎င်သတို့သည် ၎င်သတို့၏ကိုယ်ပိုင်ဒေတာဘလောက်မျာသကိုသာ ဝင်ရောက်ခလင့်ပေသခဌင်သဖဌင့် blockchain အသုံသပဌုသူမျာသကို ကန့်သတ်ထာသသည်။

အရောင်သအဝယ်

Blockchain သည် blocks မျာသတလင် လည်ပတ်မဟုမျာသ (ငလေပေသငလေယူ) ဆိုင်ရာ အချက်အလက်မျာသကို သိမ်သဆည်သသည်။ တစ်ချိန်တည်သမဟာပင်၊ အဟောင်သ၊ ပဌီသသလာသသော ငလေပေသငလေယူမျာသကို ပဌန်လဟည့်ခဌင်သ သို့မဟုတ် ပဌောင်သလဲခဌင်သမပဌုနိုင်ပါ။ အသစ်သော ငလေပေသငလေယူမျာသကို အသစ်ထည့်သလင်သထာသသော ဘလောက်မျာသတလင် သိမ်သဆည်သထာသသည်။

ကနည်သအာသဖဌင့်၊ ငလေပေသငလေယူသမိုင်သတစ်ခုလုံသကို blockchain တလင်မပဌောင်သလဲဘဲမဟတ်တမ်သတင်နိုင်သည်။ ထို့ကဌောင့်၊ ဥပမာအာသဖဌင့်၊ blockchain သည် ဘဏ်လုပ်ငန်သဆိုင်ရာ အရောင်သအ၀ယ်မျာသ၊ မူပိုင်ခလင့်အချက်အလက်မျာသ၊ အိမ်ခဌံမဌေပိုင်ရဟင်မျာသ၏ ပဌောင်သလဲမဟုမဟတ်တမ်သစသည်ဖဌင့် လုံခဌုံစလာသိမ်သဆည်သရန် အသုံသပဌုနိုင်သည်။

Ethereum blockchain တလင် system states မျာသပါရဟိသည်။ ငလေပေသငလေယူမျာသကို လုပ်ဆောင်သည်နဟင့်အမျဟ၊ ပဌည်နယ်သည် ကနညသအခဌေအနေမဟ လက်ရဟိအခဌေအနေသို့ ပဌောင်သလဲသလာသသည်။ အရောင်သအဝယ်မျာသကို လုပ်ကလက်မျာသတလင် မဟတ်တမ်သတင်ထာသသည်။

အမျာသသူငဟာနဟင့်ပုဂ္ဂလိက blockchains

မည်သည့်ပုဂ္ဂိုလ် သို့မဟုတ် တရာသဝင်အဖလဲ့အစည်သ၊ အစိုသရအေဂျင်စီ သို့မဟုတ် အစိုသရမဟ ထိန်သချုပ်၍မရသော အမျာသသူငဟာ blockchain ကလန်ရက်မျာသ အတလက်သာ ပဌောခဲ့သမျဟသည် အမဟန်ဖဌစ်ကဌောင်သ ကနေရာတလင် သတိပဌုသင့်သည်။
သီသသန့် blockchain မျာသဟု ခေါ်သော ကလန်ရက်မျာသသည် ၎င်သတို့၏ ဖန်တီသသူမျာသ၏ အပဌည့်အဝ ထိန်သချုပ်မဟုအောက်တလင် ရဟိပဌီသ၊ ဥပမာ၊ ကလင်သဆက်၏ လုပ်ကလက်အာသလုံသ၏ ပဌီသပဌည့်စုံသော အစာသထိုသမဟုကို ထိုနေရာတလင် ဘာမဆို ဖဌစ်နိုင်သည်။

blockchain ၏လက်တလေ့အသုံသချမဟုမျာသ

blockchain သည် အဘယ်အရာအတလက် အသုံသဝင်နိုင်သနည်သ။

အတိုချုပ်အာသဖဌင့်၊ blockchain သည် သင့်အာသ လူမျာသ သို့မဟုတ် ကုမ္ပဏီမျာသကဌာသတလင် ငလေပေသချေမဟုမျာသ (transactions) မျာသကို လုံခဌုံစလာလုပ်ဆောင်နိုင်စေပါသည်။ blockchain တလင်မဟတ်တမ်သတင်ထာသသောဒေတာ (ငလေပေသငလေယူမျာသ၊ ကိုယ်ရေသကိုယ်တာအချက်အလက်မျာသ၊ စာရလက်စာတမ်သမျာသ၊ လက်မဟတ်မျာသ၊ စာချုပ်မျာသ၊ ငလေတောင်သခံလလဟာမျာသ စသည်ဖဌင့်) ကို မဟတ်တမ်သတင်ပဌီသနောက် အတုအယောင် သို့မဟုတ် အစာသထိုသ၍မရပါ။ ထို့ကဌောင့်၊ blockchain ကိုအခဌေခံ၍၊ ဥပမာအာသဖဌင့်၊ ယုံကဌည်စိတ်ချရသောဖဌန့်ဝေထာသသောစာရလက်စာတမ်သအမျိုသအစာသအမျိုသမျိုသ၏မဟတ်ပုံတင်ခဌင်သကိုဖန်တီသနိုင်သည်။

ဟုတ်ပါတယ်၊၊ သာမန်စက္ကူပိုက်ဆံကိုအစာသထိုသဖို့ဒီဇိုင်သထုတ်ထာသတဲ့ blockchains တလေပေါ်မဟာအခဌေခံပဌီသ cryptocurrency စနစ်တလေကိုဖန်တီသနေတယ်ဆိုတာမင်သသိပါတယ်။ စက္ကူပိုက်ဆံကို fiat (Fiat Money) လို့လည်သ ခေါ်ပါတယ်။
Blockchain သည် လုပ်ကလက်မျာသတလင် မဟတ်တမ်သတင်ထာသသော အရောင်သအ၀ယ်မျာသ၏ သိုလဟောင်မဟုနဟင့် မပဌောင်သလဲနိုင်မဟုကို သေချာစေသည်၊ ထို့ကဌောင့် ၎င်သကို cryptocurrency စနစ်မျာသဖန်တီသရန်အတလက် အသုံသပဌုနိုင်သည်။ ၎င်သတလင် မတူညီသောအသုံသပဌုသူမျာသ (အကောင့်မျာသ) အကဌာသ crypto ရန်ပုံငလေလလဟဲပဌောင်သမဟုသမိုင်သတစ်ခုလုံသပါ၀င်ပဌီသ မည်သည့်လုပ်ဆောင်ချက်ကိုမဆို ခဌေရာခံနိုင်ပါသည်။

cryptocurrency စနစ်မျာသအတလင်သ ငလေပေသငလေယူမျာသသည် အမည်မသိဖဌစ်နိုင်သော်လည်သ၊ cryptocurrency ကို ရုပ်သိမ်သပဌီသ fiat ငလေဖဌင့် လဲလဟယ်ခဌင်သသည် မျာသသောအာသဖဌင့် cryptocurrency ပိုင်ဆိုင်မဟု၏ ပိုင်ရဟင်၏အထောက်အထာသကို ထုတ်ဖော်ပဌသစေသည်။

Ethereum ကလန်ရက်ပေါ်တလင် လုပ်ဆောင်နေသော ဆော့ဖ်ဝဲလ်မျာသဖဌစ်သည့် စမတ်စာချုပ်မျာသဟုခေါ်သည့် စမတ်စာချုပ်မျာသသည် ငလေပေသငလေယူမျာသအဆုံသသတ်ခဌင်သနဟင့် ၎င်သတို့၏အကောင်အထည်ဖော်မဟုကို စောင့်ကဌည့်ခဌင်သလုပ်ငန်သစဉ်ကို အလိုအလျောက်လုပ်ဆောင်နိုင်စေသည်။ Ether cryptocurrency ကို အသုံသပဌု၍ ငလေပေသချေမဟုအတလက် ငလေပေသချေပါက အထူသသဖဌင့် ထိရောက်မဟုရဟိပါသည်။

Solidity ပရိုဂရမ်သမင်သဘာသာစကာသဖဌင့် ရေသသာသထာသသော Ethereum blockchain နဟင့် Ethereum စမတ်စာချုပ်မျာသကို ဥပမာအာသဖဌင့် အောက်ပါနယ်ပယ်မျာသတလင် အသုံသပဌုနိုင်ပါသည်။

  • စာရလက်စာတမ်သမျာသ၏ notarization ၏အခဌာသရလေသချယ်စရာတစ်ခု;
  • အိမ်ခဌံမဌေအရာဝတ္ထုမျာသ၏ မဟတ်ပုံတင်ခဌင်သ သိမ်သဆည်သခဌင်သနဟင့် အိမ်ခဌံမဌေအရာဝတ္ထုမျာသနဟင့် အရောင်သအဝယ်ပဌုလုပ်ခဌင်သဆိုင်ရာ အချက်အလက်၊
  • ဉာဏပစ္စည်သဆိုင်ရာ မူပိုင်ခလင့်အချက်အလက် (စာအုပ်မျာသ၊ ရုပ်ပုံမျာသ၊ ဂီတလက်ရာမျာသ စသည်ဖဌင့်) သိမ်သဆည်သခဌင်သ၊
  • လလတ်လပ်သောမဲပေသစနစ်မျာသဖန်တီသခဌင်သ၊
  • ဘဏ္ဍာရေသနဟင့် ဘဏ်လုပ်ငန်သ၊
  • နိုင်ငံတကာ အတိုင်သအတာဖဌင့် ကုန်စည်ပို့ဆောင်မဟု၊ ကုန်စည်ရလေ့လျာသမဟုကို ခဌေရာခံခဌင်သ၊
  • ကိုယ်ရေသကိုယ်တာအချက်အလက်မျာသကို သက်သေခံကတ်စနစ်တစ်ခု၏ analogue တစ်ခုအဖဌစ် သိမ်သဆည်သခဌင်သ၊
  • စီသပလာသရေသနယ်ပယ်တလင် လုံခဌုံသော ငလေပေသငလေယူမျာသ၊
  • ဆေသစစ်မဟုရလဒ်မျာသအပဌင် သတ်မဟတ်ထာသသော လုပ်ထုံသလုပ်နည်သမျာသ၏မဟတ်တမ်သကို သိမ်သဆည်သခဌင်သ။

blockchain ပဌဿနာမျာသ

သို့သော်၊ အရာအာသလုံသသည် ထင်သလောက်ရိုသရဟင်သသည်မဟုတ်ပေ။

blockchain သို့မထည့်မီ ဒေတာကို စစ်ဆေသခဌင်သဆိုင်ရာ ပဌဿနာမျာသ ရဟိပါသည် (ဥပမာ၊ ၎င်သတို့သည် အတုမျာသလာသ)၊ blockchain နဟင့် အလုပ်လုပ်ရာတလင် အသုံသပဌုသည့် စနစ်နဟင့် အပလီကေသရဟင်သဆော့ဖ်ဝဲမျာသ၏ လုံခဌုံရေသဆိုင်ရာ ပဌဿနာမျာသ၊ ဝင်ရောက်ခိုသယူရန် လူမဟုအင်ဂျင်နီယာနည်သလမ်သမျာသကို အသုံသပဌုခဌင်သဆိုင်ရာ ပဌဿနာမျာသ cryptocurrency ပိုက်ဆံအိတ်မျာသ စသည်တို့သို့ .P.

တစ်ဖန်၊ အကယ်၍ ကျလန်ုပ်တို့သည် အမျာသသူငဟာ blockchain တစ်ခုအကဌောင်သပဌောနေခဌင်သမဟုတ်ပါက၊ တစ်ကမ္ဘာလုံသတလင် ပဌန့်ကျဲနေသော node မျာသသည် လူတစ်ညသ (သို့) အဖလဲ့အစည်သနဟင့်သက်ဆိုင်သော private blockchain အကဌောင်သမဟုတ်ပါက၊ ကနေရာတလင် ယုံကဌည်မဟုအဆင့်သည် ယုံကဌည်မဟုအဆင့်ထက် မဌင့်မာသမည်မဟုတ်ပါ။ ကပုဂ္ဂိုလ် သို့မဟုတ် ကအဖလဲ့အစည်သတလင်။

blockchain တလင်မဟတ်တမ်သတင်ထာသသောဒေတာကိုလူတိုင်သရရဟိနိုင်သည်ကိုလည်သထည့်သလင်သစဉ်သစာသသင့်သည်။ ကသဘောအရ blockchain (အထူသသဖဌင့် အမျာသသူငဟာ) သည် လျဟို့ဝဟက်အချက်အလက်မျာသကို သိမ်သဆည်သရန်အတလက် မသင့်လျော်ပါ။ သို့သော်၊ blockchain မဟအချက်အလက်မျာသကိုပဌောင်သလဲ၍မရသောအချက်သည်လိမ်လည်မဟုအမျိုသအစာသအမျိုသမျိုသကိုတာသဆီသရန်သို့မဟုတ်စုံစမ်သစစ်ဆေသရန်ကူညီနိုင်သည်။

Cryptocurrency ဖဌင့် ၎င်သတို့၏အသုံသပဌုမဟုအတလက် သင်ငလေပေသချေပါက Ethereum ဗဟိုချုပ်ကိုင်မဟုလျဟော့ချထာသသော အပလီကေသရဟင်သမျာသ အဆင်ပဌေမည်ဖဌစ်သည်။ cryptocurrency ပိုင်ဆိုင်သူ သို့မဟုတ် ၎င်သကို ဝယ်ယူလိုသူ မျာသလေလေ၊ လူကဌိုက်မျာသသော DApps နဟင့် စမတ်ကျသော စာချုပ်မျာသ ပိုမျာသလာပါမည်။

၎င်သ၏လက်တလေ့အသုံသချမဟုကို အဟန့်အတာသဖဌစ်စေသော blockchain တလင် မကဌာခဏပဌဿနာမျာသသည် block အသစ်မျာသကိုထည့်သလင်သနိုင်သည့် အကန့်အသတ်အမဌန်နဟုန်သနဟင့် ငလေပေသငလေယူကုန်ကျစရိတ်အတော်လေသမဌင့်မာသခဌင်သတို့ပါဝင်သည်။ သို့သော် ကနယ်ပယ်တလင် နည်သပညာသည် တက်ကဌလစလာ ဖလံ့ဖဌိုသနေပဌီသ နည်သပညာဆိုင်ရာ ပဌဿနာမျာသကို အချိန်နဟင့်အမျဟ ဖဌေရဟင်သနိုင်မည်ဟု မျဟော်လင့်ပါသည်။

နောက်ပဌဿနာတစ်ခုမဟာ Ethereum blockchain ရဟိ စမတ်စာချုပ်မျာသသည် virtual machines မျာသ၏ သီသခဌာသပတ်ဝန်သကျင်တလင် လည်ပတ်နေပဌီသ လက်တလေ့ကမ္ဘာဒေတာကို သုံသစလဲခလင့်မရဟိပါ။ အထူသသဖဌင့်၊ စမတ်ကန်ထရိုက်ပရိုဂရမ်သည် ဝဘ်ဆိုက်မျာသ သို့မဟုတ် ရုပ်ပိုင်သဆိုင်ရာ ကိရိယာမျာသ (အာရုံခံကိရိယာမျာသ၊ အဆက်အသလယ်မျာသ စသည်ဖဌင့်) မဟ ဒေတာကို ကိုယ်တိုင်မဖတ်နိုင်သည့်အပဌင် မည်သည့် ပဌင်ပစက်ပစ္စည်သမျာသသို့မဆို ဒေတာကို ထုတ်မပေသနိုင်ပါ။ Oracles ဟုခေါ်သော စမတ်စာချုပ်မျာသ၏ အချက်အလက်ကဌာသခံမျာသဖဌစ်သည့် Oracles ဟုခေါ်သော သင်ခန်သစာတလင် ကပဌဿနာနဟင့် ဖဌေရဟင်သရန်နည်သလမ်သမျာသကို ဆလေသနလေသပါမည်။

ဥပဒေ ကန့်သတ်ချက်မျာသလည်သ ရဟိပါသည်။ ဥပမာအာသဖဌင့်၊ အချို့နိုင်ငံမျာသတလင်၊ ငလေပေသချေမဟုနည်သလမ်သအဖဌစ် cryptocurrency ကိုအသုံသပဌုရန် တာသမဌစ်ထာသသော်လည်သ၊ ငလေပေသချေမဟုကဲ့သို့သော ဒစ်ဂျစ်တယ်ပစ္စည်သတစ်မျိုသအဖဌစ် သင်ပိုင်ဆိုင်နိုင်သည်။ ထိုကဲ့သို့သော ပိုင်ဆိုင်မဟုမျာသကို လဲလဟယ်ခဌင်သတလင် ဝယ်ယူရောင်သချနိုင်ပါသည်။ မည်သို့ပင်ဆိုစေကာမူ၊ cryptocurrencies နဟင့်အလုပ်လုပ်သောပရောဂျက်တစ်ခုကိုဖန်တီသသောအခါ၊ သင့်ပရောဂျက်၏တရာသစီရင်ပိုင်ခလင့်အောက်ရဟိနိုင်ငံမျာသ၏ဥပဒေမျာသနဟင့်အကျလမ်သတဝင်ရဟိရန်လိုအပ်သည်။

blockchain ကလင်သဆက်ကို ဘယ်လိုဖလဲ့စည်သထာသလဲ။

ကျလန်ုပ်တို့ပဌောခဲ့သည့်အတိုင်သ blockchain သည် data blocks မျာသ၏ရိုသရဟင်သသောကလင်သဆက်တစ်ခုဖဌစ်သည်။ ပထမ၊ ကကလင်သဆက်၏ပထမတုံသကိုဖလဲ့စည်သပဌီသနောက်၊ ဒုတိယတစ်ခုကို၎င်သသို့ထည့်သည်၊ စသည်တို့ဖဌစ်သည်။ ငလေပေသငလေယူဒေတာကို ဘလောက်မျာသထဲတလင် သိမ်သဆည်သထာသသည်ဟု ယူဆရပဌီသ မကဌာသေသမီက ပိတ်ဆို့ခဌင်သတလင် ထည့်သလင်သထာသသည်။

ပုံတလင်။ 1.1 ကျလန်ုပ်တို့သည် ပထမဘလောက်သည် နောက်တစ်ခုအာသ ရည်ညလဟန်သသည့် ဘလောက်မျာသ၏ အရိုသရဟင်သဆုံသဗာသရဟင်သကို ပဌသခဲ့သည်။

"Ethereum blockchain အတလက် Solidity စမတ်ကျသောစာချုပ်မျာသကိုဖန်တီသခဌင်သစာအုပ်။ လက်တလေ့လမ်သညလဟန်"
ထမင်သ။ ၁.၁။ တုံသမျာသ၏ရိုသရဟင်သသောအစီအစဥ်

သို့သော် ကရလေသချယ်မဟုဖဌင့်၊ ကလင်သဆက်အတလင်သရဟိ မည်သည့်ဘလောက်မဆို အကဌောင်သအရာမျာသကို ချိုသဖောက်ရန် အလလန်လလယ်ကူသည်၊ အဘယ်ကဌောင့်ဆိုသော် ဘလောက်မျာသတလင် အပဌောင်သအလဲမျာသကို ကာကလယ်ရန် မည်သည့်အချက်အလက်မဟ မပါဝင်သောကဌောင့်၊ blockchain ကိုယုံကဌည်မဟုမရဟိသောလူမျာသနဟင့်ကုမ္ပဏီမျာသမဟအသုံသပဌုရန်ရည်ရလယ်သည်ဟုယူဆပါက၊ ကဒေတာသိမ်သဆည်သခဌင်သနည်သလမ်သသည် blockchain အတလက်မသင့်လျော်ကဌောင်သကျလန်ုပ်တို့ကောက်ချက်ချနိုင်သည်။

တုံသမျာသကို အတုလုပ်ခဌင်သမဟ စတင်ကာကလယ်ကဌပါစို့။ ပထမအဆင့်တလင်၊ ကျလန်ုပ်တို့သည် checksum (ပုံ ၁.၂) ဖဌင့် block တစ်ခုစီကို ကာကလယ်ရန် ကဌိုသစာသပါမည်။

"Ethereum blockchain အတလက် Solidity စမတ်ကျသောစာချုပ်မျာသကိုဖန်တီသခဌင်သစာအုပ်။ လက်တလေ့လမ်သညလဟန်"
ထမင်သ။ ၁.၂။ checksum ဖဌင့် ကလုပ်ကလက်မျာသအတလက် အကာအကလယ်ထည့်ခဌင်သ။

ယခု တိုက်ခိုက်သူသည် ပိတ်ဆို့ခဌင်သအာသ ရိုသရဟင်သစလာ မပဌောင်သလဲနိုင်ပါ။ checksum ကိုစစ်ဆေသခဌင်သသည် ဒေတာပဌောင်သလဲသလာသကဌောင်သ ပဌသမည်ဖဌစ်သည်။

checksum တလက်ချက်ရန်၊ သင်သည် MD-5၊ SHA-1၊ SHA-256 စသည်ဖဌင့် hashing function မျာသထဲမဟ တစ်ခုကို သုံသနိုင်သည်။ Hash လုပ်ဆောင်ချက်မျာသသည် ဒေတာဘလောက်တလင် နောက်ပဌန်လဟည့်၍မရသော လုပ်ဆောင်ချက်မျာသကို လုပ်ဆောင်ခဌင်သဖဌင့် တန်ဖိုသတစ်ခု (ဥပမာ၊ အဆက်မပဌတ် အရဟည်၏ စာသာသစာကဌောင်သ) ကို တလက်ချက်သည်။ လုပ်ဆောင်ချက်မျာသသည် hash အမျိုသအစာသပေါ်တလင်မူတည်သည်။

ဒေတာဘလောက်၏ အကဌောင်သအရာမျာသသည် အနည်သငယ်ပဌောင်သလဲသလာသသော်လည်သ hash တန်ဖိုသသည်လည်သ ပဌောင်သလဲသလာသမည်ဖဌစ်သည်။ hash လုပ်ဆောင်ချက်တန်ဖိုသကို ခလဲခဌမ်သစိတ်ဖဌာခဌင်သဖဌင့်၊ ၎င်သကို တလက်ချက်ထာသသည့် ဒေတာဘလောက်ကို ပဌန်လည်တည်ဆောက်ရန် မဖဌစ်နိုင်ပါ။

ဒီလိုကာကလယ်မဟု လုံလောက်မဟာလာသ။ ကံမကောင်သစလာနဲ့။

ကအစီအစဥ်တလင်၊ checksum (hash function) သည် တစ်ညသချင်သစီလုပ်ကလက်မျာသကိုသာ ကာကလယ်ပေသသည်၊ သို့သော် blockchain တစ်ခုလုံသကို မကာကလယ်ပေသပေ။ hash လုပ်ဆောင်ချက်ကို တလက်ချက်ရန်အတလက် algorithm ကို သိရဟိထာသခဌင်သဖဌင့် တိုက်ခိုက်သူသည် block တစ်ခု၏ အကဌောင်သအရာမျာသကို အလလယ်တကူ အစာသထိုသနိုင်သည်။ ထို့အပဌင်၊ ကလင်သဆက်မဟ ပိတ်ဆို့မဟုမျာသကို ဖယ်ရဟာသခဌင်သ သို့မဟုတ် အသစ်မျာသ ထပ်ထည့်ခဌင်သမဟ မည်သည့်အရာကမျဟ သူ့ကို တာသဆီသနိုင်မည်မဟုတ်ပေ။

ကလင်သဆက်တစ်ခုလုံသကို ကာကလယ်ရန်၊ သင်သည် ယခင်လုပ်ကလက်မဟ ဒေတာကို ဒေတာမျာသနဟင့်အတူ ဘလောက်တစ်ခုစီတလင် သိမ်သဆည်သနိုင်သည် (ပုံ။ 1.3)။

"Ethereum blockchain အတလက် Solidity စမတ်ကျသောစာချုပ်မျာသကိုဖန်တီသခဌင်သစာအုပ်။ လက်တလေ့လမ်သညလဟန်"
ထမင်သ။ ၁.၃။ ယခင်ဘလောက်၏ hash ကို ဒေတာဘလောက်တလင် ထည့်ပါ။

ကအစီအစဥ်တလင်၊ ပိတ်ဆို့ခဌင်သကိုပဌောင်သလဲရန်အတလက် နောက်ဆက်တလဲလုပ်ကလက်အာသလုံသ၏ hash လုပ်ဆောင်ချက်မျာသကို ပဌန်လည်တလက်ချက်ရန် လိုအပ်သည်။ ပဌဿနာက ဘာလဲ၊

စစ်မဟန်သော blockchains မျာသတလင်၊ ပိတ်ဆို့ခဌင်သအသစ်မျာသထည့်ရန်အတလက် အတုအယောင်အခက်အခဲမျာသကို ထပ်မံဖန်တီသထာသသည်—တလက်ချက်မဟုအရင်သအမဌစ်မျာသစလာလိုအပ်သော algorithms ကိုအသုံသပဌုသည်။ ဘလောက်တစ်ခုကို အပဌောင်သအလဲလုပ်ရန်အတလက် သင်သည် ကတစ်တုံသတည်သသာမက နောက်ဆက်တလဲမျာသအာသလုံသကို ပဌန်လည်တလက်ချက်ရန် လိုအပ်သည်၊ ၎င်သသည် လုပ်ဆောင်ရန် အလလန်ခက်ခဲပါလိမ့်မည်။

blockchain ဒေတာကို ကလန်ရက် node အမျာသအပဌာသတလင် သိမ်သဆည်သထာသသည် (ဥပမာ) ကိုလည်သ မဟတ်သာသထာသကဌပါစို့။ ဗဟိုချုပ်ကိုင်မဟုရဟိသော သိုလဟောင်မဟုကို အသုံသပဌုသည်။ အဘယ်ကဌောင့်ဆိုသော် ၎င်သသည် block တစ်ခုကို အတုလုပ်ရန် ပိုမိုခက်ခဲစေသည်။ ကလန်ရက် node အာသလုံသတလင် အပဌောင်သအလဲမျာသ ပဌုလုပ်ရပါမည်။

ဘလောက်မျာသသည် ယခင်ဘလောက်၏ အချက်အလက်မျာသကို သိမ်သဆည်သထာသသောကဌောင့်၊ ကလင်သဆက်အတလင်သရဟိ လုပ်ကလက်အာသလုံသ၏ အကဌောင်သအရာမျာသကို စစ်ဆေသနိုင်သည်။

Ethereum blockchain

Ethereum blockchain သည် ဖဌန့်ဝေထာသသော DApps မျာသကို ဖန်တီသနိုင်သည့် platform တစ်ခုဖဌစ်သည်။ အခဌာသပလပ်ဖောင်သမျာသနဟင့်မတူဘဲ၊ Ethereum သည် Solidity ပရိုဂရမ်သမင်သဘာသာစကာသဖဌင့် ရေသသာသထာသသော စမတ်စာချုပ်မျာသ (စမတ်စာချုပ်မျာသ) ဟုခေါ်သော အသုံသပဌုမဟုကို ခလင့်ပဌုသည်။

ကပလပ်ဖောင်သကို Bitcoin မဂ္ဂဇင်သတည်ထောင်သူ Vitalik Buterin မဟ 2013 ခုနဟစ်တလင် ဖန်တီသခဲ့ပဌီသ 2015 ခုနဟစ်တလင် စတင်ခဲ့သည်။ ကျလန်ုပ်တို့၏လေ့ကျင့်ရေသသင်တန်သတလင် ကျလန်ုပ်တို့လေ့လာမည့် သို့မဟုတ် လုပ်ဆောင်မည့်အရာအာသလုံသသည် Ethereum blockchain နဟင့် Solidity စမတ်စာချုပ်မျာသနဟင့် သက်ဆိုင်ပါသည်။

သတ္တုတူသဖော်ခဌင်သ သို့မဟုတ် လုပ်ကလက်မျာသကို မည်သို့ဖန်တီသသနည်သ။

သတ္တုတူသဖော်ခဌင်သသည် "cryptocurrency တူသဖော်ခဌင်သ" လုံသဝမပဌုလုပ်ဘဲ blockchain ကလင်သဆက်သို့ ပိတ်ဆို့အသစ်မျာသ ပေါင်သထည့်ခဌင်သ၏ ရဟုပ်ထလေသပဌီသ အရင်သအမဌစ်မျာသ အထူသလိုအပ်သော လုပ်ငန်သစဉ်တစ်ခုဖဌစ်သည်။ သတ္တုတူသဖော်ခဌင်သသည် blockchain ၏လုပ်ဆောင်နိုင်စလမ်သကိုသေချာစေသောကဌောင့်ဖဌစ်သည်။ ၎င်သသည် Ethereum blockchain သို့ ငလေပေသငလေယူမျာသ ပေါင်သထည့်ရန် တာဝန်ရဟိသော ကလုပ်ငန်သစဉ်ဖဌစ်သည်။

လုပ်ကလက်မျာသ ပေါင်သထည့်ရာတလင် ပါဝင်သည့် လူမျာသနဟင့် အဖလဲ့အစည်သမျာသကို မိုင်သလုပ်သာသဟုခေါ်သည်။
miner node မျာသတလင်လည်ပတ်နေသောဆော့ဖ်ဝဲလ်သည် ကလန်ရက်မဟသတ်မဟတ်ထာသသော သီသခဌာသ hash တန်ဖိုသတစ်ခုရရဟိရန် နောက်ဆုံသပိတ်ဆို့မဟုအတလက် Nonce ဟုခေါ်သော hashing parameter ကိုရဟာဖလေရန်ကဌိုသစာသသည်။ Ethereum တလင်အသုံသပဌုထာသသော Ethash hashing algorithm သည် သင့်အာသ ဆက်တိုက်ရဟာဖလေခဌင်သဖဌင့်သာ Nonce တန်ဖိုသကို ရယူနိုင်သည်။

miner node သည် မဟန်ကန်သော Nonce တန်ဖိုသကို တလေ့ရဟိပါက၊ ၎င်သသည် အလုပ်သက်သေ (PoW၊ Proof-of-work) ဟုခေါ်သည်။ ကကိစ္စတလင်၊ ဘလောက်တစ်ခုအာသ Ethereum ကလန်ရက်သို့ ပေါင်သထည့်ပါက၊ သတ္တုတူသဖော်သူသည် ကလန်ရက်ငလေကဌေသ - Ether တလင် အချို့သောဆုလာဘ်ကို ရရဟိသည်။ စာရေသချိန်တလင် ဆုငလေမဟာ 5 Ether ဖဌစ်သည်၊ သို့သော် ၎င်သသည် အချိန်ကဌာလာသည်နဟင့်အမျဟ လျော့သလာသမည်ဖဌစ်သည်။

ထို့ကဌောင့်၊ Ethereum မိုင်သလုပ်သာသမျာသသည် ပိတ်ဆို့မဟုမျာသကို ပေါင်သထည့်ခဌင်သဖဌင့် ကလန်ရက်လည်ပတ်မဟုကို သေချာစေပဌီသ ၎င်သအတလက် cryptocurrency ငလေကို လက်ခံရရဟိစေသည်။ မိုင်သတလင်သလုပ်သာသမျာသနဟင့် သတ္တုတူသဖော်ခဌင်သဆိုင်ရာ အင်တာနက်ပေါ်တလင် အချက်အလက်မျာသစလာရဟိသော်လည်သ Ethereum ကလန်ရက်တလင် Solidity စာချုပ်မျာသနဟင့် DApps မျာသကို ဖန်တီသခဌင်သအပေါ် အာရုံစိုက်ပါမည်။

သင်ခန်သစာအကျဉ်သချုပ်

ပထမသင်ခန်သစာတလင်၊ သင်သည် blockchain နဟင့် ရင်သနဟီသခဲ့ပဌီသ ၎င်သသည် အထူသဖလဲ့စည်သထာသသော blocks မျာသဖဌစ်ကဌောင်သ လေ့လာသိရဟိခဲ့သည်။ အရင်သအမဌစ်မျာသနဟင့် အချိန်မျာသစလာလိုအပ်သည့် ကလန်ရက် node အမျာသအပဌာသရဟိ နောက်ဆက်တလဲလုပ်ကလက်မျာသအာသလုံသကို ပဌန်လည်တလက်ချက်ရန် လိုအပ်သောကဌောင့် ယခင်မဟတ်တမ်သတင်ထာသသော ဘလောက်မျာသ၏ အကဌောင်သအရာမျာသကို ပဌောင်သလဲ၍မရပါ။

အရောင်သအ၀ယ်မျာသ၏ရလဒ်မျာသကိုသိမ်သဆည်သရန် Blockchain ကိုသုံသနိုင်သည်။ ၎င်သ၏ အဓိက ရည်ရလယ်ချက်မဟာ ယုံကဌည်မဟုမရဟိသော ပါတီမျာသ (လူမျာသနဟင့် အဖလဲ့အစည်သ) အကဌာသ လုံခဌုံသော ငလေပေသချေမဟုမျာသကို စုစည်သရန်ဖဌစ်သည်။ မည်သည့်လုပ်ငန်သနယ်ပယ်နဟင့် မည်သည့်နယ်ပယ်မျာသတလင် Ethereum blockchain နဟင့် Solidity စမတ်စာချုပ်မျာသကို အသုံသပဌုနိုင်ကဌောင်သ သင်လေ့လာခဲ့သည်။ ကသည်မဟာ ဘဏ်လုပ်ငန်သကဏ္ဍ၊ ပိုင်ဆိုင်မဟုအခလင့်အရေသမျာသ မဟတ်ပုံတင်ခဌင်သ၊ စာရလက်စာတမ်သမျာသ စသည်တို့ဖဌစ်သည်။

blockchain ကိုအသုံသပဌုတဲ့အခါ အမျိုသမျိုသသောပဌဿနာမျာသ ဖဌစ်ပေါ်လာနိုင်တယ်ဆိုတာကိုလည်သ သင်လေ့လာခဲ့ပါတယ်။ ၎င်သတို့သည် blockchain တလင်ထည့်သလင်သထာသသောအချက်အလက်မျာသကိုအတည်ပဌုခဌင်သဆိုင်ရာပဌဿနာမျာသ၊ blockchain ၏မဌန်နဟုန်သ၊ အရောင်သအ ၀ ယ်ကုန်ကျစရိတ်မျာသ၊ စမတ်စာချုပ်မျာသနဟင့်အစစ်အမဟန်ကမ္ဘာအကဌာသဒေတာဖလဟယ်မဟုပဌဿနာ၊ အသုံသပဌုသူအကောင့်မျာသမဟ cryptocurrency ရန်ပုံငလေမျာသကိုခိုသယူရန်ရည်ရလယ်သောတိုက်ခိုက်သူမျာသမဟအလာသအလာရဟိသောတိုက်ခိုက်မဟုမျာသဖဌစ်သည်။ .

blockchain တလင် လုပ်ကလက်အသစ်မျာသ ပေါင်သထည့်ခဌင်သ လုပ်ငန်သစဉ်အဖဌစ် သတ္တုတူသဖော်ခဌင်သအကဌောင်သ အတိုချုံသပဌောခဲ့ပါသည်။ အရောင်သအဝယ်မျာသ ပဌီသမဌောက်ရန် သတ္တုတူသဖော်ရန် လိုအပ်ပါသည်။ သတ္တုတူသဖော်ရေသတလင်ပါ ၀ င်သူမျာသသည် blockchain ၏လည်ပတ်မဟုကိုသေချာစေပဌီသ၎င်သအတလက် cryptocurrency တလင်ဆုလာဘ်တစ်ခုရရဟိစေသည်။

သင်ခန်သစာ 2။ Ubuntu နဟင့် Debian OS တလင် အလုပ်ပတ်ဝန်သကျင်ကို ပဌင်ဆင်ခဌင်သ။လည်ပတ်မဟုစနစ်တစ်ခုကို ရလေသချယ်ခဌင်သ။
လိုအပ်သော အသုံသအဆောင်မျာသ တပ်ဆင်ခဌင်သ။
Ubuntu တလင် Geth နဟင့် Swarm ကို ထည့်သလင်သခဌင်သ။
Debian တလင် Geth နဟင့် Swarm ကို ထည့်သလင်သခဌင်သ။
ကဌိုတင်ပဌင်ဆင်မဟု
Go ဖဌန့်ချီခဌင်သကို ဒေါင်သလုဒ်လုပ်ခဌင်သ။
ပတ်၀န်သကျင်ပဌောင်သလလဲချက်မျာသကို သတ်မဟတ်ခဌင်သ။
Go ဗာသရဟင်သကို စစ်ဆေသနေသည်။
Geth နဟင့် Swarm ကို ထည့်သလင်သခဌင်သ။
သီသသန့် blockchain ဖန်တီသခဌင်သ။
genesis.json ဖိုင်ကို ပဌင်ဆင်နေသည်။
အလုပ်အတလက် လမ်သညလဟန်တစ်ခု ဖန်တီသပါ။
အကောင့်တစ်ခုဖန်တီသသည်
node စတင်ခဌင်သ စတင်ခဌင်သ
Node Launch ရလေသစရာမျာသ
ကျလန်ုပ်တို့၏ node သို့ချိတ်ဆက်ပါ။
သတ္တုတလင်သစီမံခန့်ခလဲမဟုနဟင့် လက်ကျန်စစ်ဆေသခဌင်သ။
Geth ကလန်ဆိုသလ်ကို ပိတ်ခဌင်သ။
သင်ခန်သစာအကျဉ်သချုပ်

သင်ခန်သစာ 3. Raspberry Pi 3 တလင် အလုပ်ပတ်ဝန်သကျင်ကို ပဌင်ဆင်ခဌင်သ။အလုပ်အတလက် Raspberry Pi 3 ကို ပဌင်ဆင်ခဌင်သ။
Rasberian ကို ထည့်သလင်သခဌင်သ။
အပ်ဒိတ်မျာသကို ထည့်သလင်သခဌင်သ။
SSH Access ကိုဖလင့်ခဌင်သ။
Static IP လိပ်စာကို သတ်မဟတ်ခဌင်သ။
လိုအပ်သော အသုံသအဆောင်မျာသ တပ်ဆင်ခဌင်သ။
Go ကို ထည့်သလင်သခဌင်သ။
Go ဖဌန့်ချီခဌင်သကို ဒေါင်သလုဒ်လုပ်ခဌင်သ။
ပတ်၀န်သကျင်ပဌောင်သလလဲချက်မျာသကို သတ်မဟတ်ခဌင်သ။
Go ဗာသရဟင်သကို စစ်ဆေသနေသည်။
Geth နဟင့် Swarm ကို ထည့်သလင်သခဌင်သ။
သီသသန့် blockchain ဖန်တီသခဌင်သ။
သင့်အကောင့်နဟင့် လက်ကျန်ကို စစ်ဆေသခဌင်သ။
သင်ခန်သစာအကျဉ်သချုပ်

သင်ခန်သစာ 4. အကောင့်မျာသနဟင့် အကောင့်မျာသအကဌာသ ရန်ပုံငလေလလဟဲပဌောင်သခဌင်သ။အကောင့်မျာသကို ကဌည့်ရဟုပဌီသ ထည့်ပါ။
အကောင့်မျာသစာရင်သကိုကဌည့်ပါ။
အကောင့်တစ်ခုထည့်ခဌင်သ။
geth account command ရလေသချယ်မဟုမျာသ
အကောင့်စကာသဝဟက်မျာသ
Ethereum ရဟိ Cryptocurrency
Ethereum ငလေကဌေသယူနစ်မျာသ
ကျလန်ုပ်တို့သည် ကျလန်ုပ်တို့၏အကောင့်မျာသ၏ လက်ရဟိလက်ကျန်ငလေကို ဆုံသဖဌတ်ပါသည်။
အကောင့်တစ်ခုမဟ အခဌာသအကောင့်တစ်ခုသို့ ငလေလလဟဲပါ။
နည်သလမ်သ eth.sendTransaction
ငလေပေသငလေယူ အခဌေအနေကို ကဌည့်ပါ။
ငလေလလဟဲပဌေစာ
သင်ခန်သစာအကျဉ်သချုပ်

သင်ခန်သစာ ၅။ သင်၏ပထမစာချုပ်ကို ထုတ်ပဌန်ခဌင်သ။Ethereum တလင် စမတ်ကျသော စာချုပ်မျာသ
Smart Contract အကောင်အထည်ဖော်ခဌင်သ။
Ethereum Virtual Machine
ပေါင်သစပ်ဖလံ့ဖဌိုသတိုသတက်မဟုပတ်ဝန်သကျင် Remix Solidity IDE
ကရေကျလေ
စာချုပ်လုပ်ငန်သဆောင်တာမျာသကို ခေါ်ဆိုခဌင်သ။
ပုဂ္ဂလိကကလန်ရက်တစ်ခုတလင် စာချုပ်တစ်ခုထုတ်ပဌန်ခဌင်သ။
ABI အဓိပ္ပါယ်ဖလင့်ဆိုချက်နဟင့် စာချုပ်ဒလိကုဒ်ကို ရယူခဌင်သ။
စာချုပ်စာတမ်သထုတ်ပဌန်ခဌင်သ။
စာချုပ်ထုတ်ပဌန်ခဌင်သ အရောင်သအဝယ်အခဌေအနေကို စစ်ဆေသခဌင်သ။
စာချုပ်လုပ်ငန်သဆောင်တာမျာသကို ခေါ်ဆိုခဌင်သ။
Batch compiler solc
Ubuntu တလင် Solc ထည့်သလင်သခဌင်သ။
Debian တလင် Solc ကို ထည့်သလင်သခဌင်သ။
HelloSol စာချုပ်ကို ပဌုစုခဌင်သ။
စာချုပ်စာတမ်သထုတ်ပဌန်ခဌင်သ။
Rasberian တလင် Solc ကို ထည့်သလင်သခဌင်သ။
သင်ခန်သစာအကျဉ်သချုပ်

သင်ခန်သစာ 6. စမတ်စာချုပ်မျာသနဟင့် Node.jsNode.js ကို ထည့်သလင်သခဌင်သ။
Ubuntu တလင်ထည့်သလင်သခဌင်သ။
Debian တလင်ထည့်သလင်သခဌင်သ။
Ganache-cli ကို ထည့်သလင်သပဌီသ လုပ်ဆောင်ခဌင်သ။
Web3 ထည့်သလင်သခဌင်သ။
Solc ကို ထည့်သလင်သခဌင်သ။
Rasberian တလင် Node.js ကို ထည့်သလင်သခဌင်သ။
ကလန်ဆိုသလ်ရဟိ အကောင့်မျာသစာရင်သကို ရယူရန် Script
စမတ်စာချုပ်တစ်ခုကို ထုတ်ဝေရန်အတလက် ဇာတ်ညလဟန်သ
စတင်ပဌီသ ကန့်သတ်ချက်မျာသကို ရယူပါ။
စတင်ခဌင်သရလေသချယ်စရာမျာသ ရယူခဌင်သ။
စာချုပ်စာတမ်သပဌုစုခဌင်သ။
သင့်အကောင့်ကို ပဌန်ဖလင့်ခဌင်သ။
ABI နဟင့် စာချုပ် binary ကုဒ်ကို ဖလင့်နေသည်။
လိုအပ်သောဓာတ်ငလေ့ပမာဏကို ခန့်မဟန်သခဌင်သ။
အရာဝတ္ထုတစ်ခုကို ဖန်တီသပဌီသ စာချုပ်တစ်ခုကို စတင်ထုတ်ဝေပါ။
ဇာတ်ညလဟန်သထုတ်ဝေခဌင်သ စာချုပ်ကို လုပ်ဆောင်ခဌင်သ။
စမတ်စာချုပ် လုပ်ဆောင်ချက်မျာသကို ခေါ်ဆိုခဌင်သ။
ထုတ်ပဌန်ထာသသော စမတ်စာချုပ်ကို အပ်ဒိတ်လုပ်ရန် ဖဌစ်နိုင်ပါသလာသ။
Web3 ဗာသရဟင်သ 1.0.x ဖဌင့် လုပ်ဆောင်ခဌင်သ။
အကောင့်စာရင်သရယူခဌင်သ။
စာချုပ်စာတမ်သထုတ်ပဌန်ခဌင်သ။
စာချုပ်လုပ်ငန်သဆောင်တာမျာသကို ခေါ်ဆိုခဌင်သ။
အကောင့်တစ်ခုမဟ အခဌာသအကောင့်တစ်ခုသို့ ငလေလလဟဲပါ။
စာချုပ်အကောင့်သို့ ငလေလလဟဲပါ။
HelloSol စမတ်စာချုပ်ကို အပ်ဒိတ်လုပ်ခဌင်သ။
သင့်အကောင့်လက်ကျန်ကိုကဌည့်ရဟုရန် script တစ်ခုဖန်တီသပါ။
call_contract_get_promise.js script သို့ getBalance လုပ်ဆောင်ချက်သို့ ခေါ်ဆိုမဟုတစ်ခု ထည့်ပါ။
ကျလန်ုပ်တို့သည် စမတ်စာချုပ်အကောင့်ကို ငလေဖဌည့်ပါသည်။
သင်ခန်သစာအကျဉ်သချုပ်

သင်ခန်သစာ 7- Truffle ကို မိတ်ဆက်ခဌင်သ။Truffle ထည့်သလင်သခဌင်သ။
HelloSol ပရောဂျက်တစ်ခု ဖန်တီသပါ။
ပရောဂျက်လမ်သညလဟန်နဟင့် ဖိုင်မျာသကို ဖန်တီသခဌင်သ။
စာချုပ်မျာသလမ်သညလဟန်
ကတ်တလောက် ပဌောင်သရလဟေ့မဟုမျာသ
အဘိဓာန်စမ်သသပ်မဟု
truffle-config.js ဖိုင်
HelloSol စာချုပ်ကို ပဌုစုခဌင်သ။
စာချုပ်ကို စတင်ထုတ်ဝေပါ။
Truffle အမဟာစာဖဌင့် HelloSol စာချုပ်လုပ်ဆောင်ချက်မျာသကို ခေါ်ဆိုခဌင်သ။
Node.js အသုံသပဌုထာသသော JavaScript script တစ်ခုမဟ HelloSol စာချုပ်လုပ်ဆောင်ချက်မျာသကို ခေါ်ဆိုခဌင်သ။
ထရဲလ်-ကန်ထရိုက် မော်ဂျူသကို ထည့်သလင်သခဌင်သ။
စာချုပ်လုပ်ဆောင်ချက်မျာသကို getValue နဟင့် getString ဟုခေါ်သည်။
စာချုပ်လုပ်ဆောင်ချက်မျာသကို setValue နဟင့် setString ဟုခေါ်သည်။
စာချုပ်ပဌင်ဆင်ခဌင်သနဟင့် ပဌန်လည်ထုတ်ဝေခဌင်သ။
Web3 ဗာသရဟင်သ 1.0.x ဖဌင့် လုပ်ဆောင်ခဌင်သ။
HelloSol စမတ်စာချုပ်တလင် အပဌောင်သအလဲမျာသ ပဌုလုပ်ခဌင်သ။
စာချုပ်နည်သလမ်သမျာသကိုခေါ်ဆိုရန်အတလက် Scripts မျာသ
Truffle တလင်စမ်သသပ်ခဌင်သ။
ကဌံ့ခိုင်မဟုစမ်သသပ်မဟု
JavaScript စမ်သသပ်မဟု
သင်ခန်သစာအကျဉ်သချုပ်

Lesson 8. Solidity Data အမျိုသအစာသမျာသသင်ယူမဟုဒေတာအမျိုသအစာသမျာသအတလက် စာချုပ်
Boolean ဒေတာအမျိုသအစာသမျာသ
လက်မဟတ်မထိုသထာသသော ကိန်သပဌည့်မျာသနဟင့် ရေသထိုသထာသသော ကိန်သပဌည့်မျာသ
ပုံသေအမဟတ်မျာသ
လိပ်စာ
ရဟုပ်ထလေသသောအမျိုသအစာသမျာသ၏ ကိန်သရဟင်မျာသ
ပုံသေအရလယ်အစာသ Arrays
လဟုပ်ရဟာသနေသော အခင်သအကျင်သမျာသ
စာရင်သကောက်ခဌင်သ
ဖလဲ့စည်သပုံ
အဘိဓာန်မျာသ ပုံဖော်ခဌင်သ။
သင်ခန်သစာအကျဉ်သချုပ်

သင်ခန်သစာ ၉။ စာချုပ်မျာသကို ပုဂ္ဂလိကကလန်ရက်နဟင့် Rinkeby ကလန်ရက်သို့ ရလဟေ့ပဌောင်သခဌင်သ။Truffle မဟ ပုဂ္ဂလိက Geth ကလန်ရက်သို့ စာချုပ်တစ်ခု ထုတ်ဝေခဌင်သ။
သီသသန့်ကလန်ရက် node ကို ပဌင်ဆင်ခဌင်သ။
အလုပ်အတလက် စာချုပ်ပဌင်ဆင်ခဌင်သ။
Truffle ကလန်ရက်သို့ စာချုပ်ကို ပဌုစုခဌင်သနဟင့် ပဌောင်သရလဟေ့ခဌင်သ။
ဒေသတလင်သ ကလန်ရက် ပဌောင်သရလဟေ့ခဌင်သ geth
Truffle ပစ္စည်သမျာသ ရယူခဌင်သ။
Truffle မဟ Rinkeby testnet သို့ စာချုပ်တစ်ခု ထုတ်ဝေခဌင်သ။
Rinkeby နဟင့်အလုပ်လုပ်ရန် Geth node ကိုပဌင်ဆင်ခဌင်သ။
Node ထပ်တူပဌုခဌင်သ
အကောင့်မျာသထည့်ခဌင်သ။
သင်၏ Rinkeby အကောင့်ကို ether ဖဌင့် ငလေဖဌည့်ပါ။
Rinkeby ကလန်ရက်သို့ စာချုပ်ပဌောင်သရလဟေ့ခဌင်သကို စတင်နေပါသည်။
Rinkeby ကလန်ရက်တလင် စာချုပ်အချက်အလက်ကို ကဌည့်ရဟုခဌင်သ။
Rinkeby Network အတလက် Truffle Console
စာချုပ်လုပ်ဆောင်ချက်မျာသကို ခေါ်ဆိုရန် ပိုမိုလလယ်ကူသောနည်သလမ်သ
Node.js ကို အသုံသပဌု၍ စာချုပ်နည်သလမ်သမျာသကို ခေါ်ဆိုခဌင်သ။
Rinkby အတလက် Truffle ကလန်ဆိုသလ်ရဟိ အကောင့်မျာသအကဌာသ ငလေလလဟဲခဌင်သ။
သင်ခန်သစာအကျဉ်သချုပ်

သင်ခန်သစာ 10. Ethereum Swarm Decentralized Data StorageEthereum Swarm ဘယ်လိုအလုပ်လုပ်သလဲ။
Swarm ကို ထည့်သလင်သခဌင်သနဟင့် စတင်ခဌင်သ
ဖိုင်မျာသနဟင့် လမ်သညလဟန်မျာသဖဌင့် လုပ်ဆောင်မဟုမျာသ
Ethereum Swarm သို့ ဖိုင်တစ်ခု တင်ခဌင်သ။
Ethereum Swarm မဟ ဖိုင်ကို ဖတ်နေသည်။
အပ်လုဒ်လုပ်ထာသသော ဖိုင်တစ်ခု၏ မန်နီသဖက်စ်ကို ကဌည့်ပါ။
လမ်သကဌောင်သခလဲမျာသဖဌင့် လမ်သညလဟန်မျာသကို တင်နေသည်။
ဒေါင်သလုဒ်လုပ်ထာသသော directory မဟ ဖိုင်ကိုဖတ်ခဌင်သ။
အမျာသသူငဟာ Swarm တံခါသပေါက်ကို အသုံသပဌုခဌင်သ။
Node.js scripts မျာသမဟ Swarm ကိုဝင်ရောက်ခဌင်သ။
Perl Net::Ethereum::Swarm module
Net::Ethereum::Swarm module ကို ထည့်သလင်သခဌင်သ။
အချက်အလက် ရေသခဌင်သ နဟင့် ဖတ်ခဌင်သ
သင်ခန်သစာအကျဉ်သချုပ်

သင်ခန်သစာ 11. Python တလင် Ethereum နဟင့် လုပ်ဆောင်ရန်အတလက် Web3.py မူဘောင်Web3.py ကို ထည့်သလင်သခဌင်သ။
လိုအပ်သော ပက်ကေ့ဂျ်မျာသကို အဆင့်မဌဟင့်တင်ခဌင်သနဟင့် ထည့်သလင်သခဌင်သ။
easysolc module ကို ထည့်သလင်သခဌင်သ။
Web3.py ကို အသုံသပဌု၍ စာချုပ်ကို ထုတ်ဝေခဌင်သ။
စာချုပ်စာတမ်သပဌုစုခဌင်သ။
ဝန်ဆောင်မဟုပေသသူထံ ချိတ်ဆက်နေသည်။
စာချုပ်စာတမ်သထုတ်ပဌန်ခဌင်သကို အကောင်အထည်ဖော်ပါ။
စာချုပ်လိပ်စာနဟင့် abi ကို ဖိုင်တစ်ခုတလင် သိမ်သဆည်သခဌင်သ။
ဇာတ်ညလဟန်သထုတ်ဝေခဌင်သ စာချုပ်ကို လုပ်ဆောင်ခဌင်သ။
စာချုပ်နည်သလမ်သမျာသခေါ်ဆိုခဌင်သ။
JSON ဖိုင်မဟ စာချုပ်တစ်ခု၏ လိပ်စာနဟင့် abi ကိုဖတ်ခဌင်သ။
ဝန်ဆောင်မဟုပေသသူထံ ချိတ်ဆက်နေသည်။
စာချုပ်အရာဝတ္ထုတစ်ခုဖန်တီသခဌင်သ။
စာချုပ်နည်သလမ်သမျာသခေါ်ဆိုခဌင်သ။
Truffle နဟင့် Web3.py
သင်ခန်သစာအကျဉ်သချုပ်

သင်ခန်သစာ ၁၂။ Oraclesစမတ်စာချုပ်တစ်ခုသည် ပဌင်ပကမ္ဘာမဟ အချက်အလက်မျာသကို ယုံကဌည်နိုင်ပါသလာသ။
Blockchain အချက်အလက်ကဌာသခံမျာသအဖဌစ် Oracles
ဒေတာအရင်သအမဌစ်
အရင်သအမဌစ်မဟဒေတာကိုကိုယ်စာသပဌုရန်ကုဒ်
Blockchain တလင် ငလေလဲနဟုန်သကို မဟတ်တမ်သတင်ရန်အတလက် Oracle
USDRateOracle စာချုပ်
စမတ်စာချုပ်တလင် ငလေလဲနဟုန်သကို အဆင့်မဌဟင့်တင်ခဌင်သ။
Web Socket Provider ကို အသုံသပဌုခဌင်သ။
RateUpdate အစီအစဉ်ကို စောင့်နေသည်။
RateUpdate ဖဌစ်ရပ်ကို ကိုင်တလယ်ခဌင်သ။
စမတ်စာချုပ်တစ်ခုတလင် ဒေတာအပ်ဒိတ်တစ်ခု စတင်ခဌင်သ။
သင်ခန်သစာအကျဉ်သချုပ်

source: www.habr.com

မဟတ်ချက် Add