Skip to content

ပညာရှိ စာချုပ်များ

Iroha ငွေပေးချေမှုတွေမှာ Executable အသုံးဝင်ဝန်ဆောင်မှုတွေ လုပ်ဆောင်ပါတယ်။ လက်ရှိ ဒေတာပုံစံက အောက်ပါအချက်တွေကို ထောက်ပံ့တယ်။

  • Executable::Instructions: Iroha အထူးညွှန်ကြားချက်များ၏ အစီအစဉ်ချထားသောအစု
  • Executable::ContractCall: စေလွှတ်ထားသော သဘောတူစာချုပ်ဖြစ်စဉ်အတွက် ဘေးညွှန်ကြားချက်ခေါ်ဆိုမှု
  • Executable::Ivm: Iroha VM bytecode
  • Executable::IvmProved: ကြိုတင် တွက်ချက်ထားသော ညွှန်ကြားမှု အပေါ်လွှာနှင့် သက်သေခံတာဝန်များရှိသည့် Iroha VM ဘိုက်ကုဒ်

Kotodama သည် Iroha ၏ အဆင့်မြင့် စမတ်ကန်ထရိုက် ဘာသာစကားဖြစ်သည်။ .ko အရင်းအမြစ်ဖိုင်ကို တိကျသတ်မှတ်ထားသော IVM ဘိုက်ကုဒ်အဖြစ် စုစည်းပြီး တပ်ဆင်ရန်အတွက် .to အာတီဖက်အဖြစ် ထုံးစံအတိုင်း သိမ်းဆည်းသည်။ Kotodama သည် IVM ကိုသာ ပစ်မှတ်ထားသည်။ RISC-V သို့မဟုတ် WebAssembly ကို ပစ်မှတ်မထားပါ။

ပထမဆုံး release တွင် ABI version 1 ကိုသာ support လုပ်သည်။ syscall နှင့် pointer-ABI policy ကို contract admission နှင့် execution က အခြေအနေမဲ့ အတည်ပြုအသုံးချသည်။ runtime compatibility toggle မရှိပါ။

ပညာရှိ စာချုပ်များကို ဘယ်အချိန် အသုံးပြုရမလဲ။

Transaction ကို တိုက်ရိုက် ဖော်ပြနိုင်တဲ့အခါ ပုံမှန် ညွှန်ကြားချက်တွေကို အသုံးပြုပါ။

  • မှတ်ပုံတင် (သို့) မှတ်ပုံတင်ခြင်းမရှိသော ပစ္စည်းများ
  • မင်တာ၊ လောင်ကျွမ်းခြင်း သို့မဟုတ် လွှဲပြောင်းမှု အရင်းအမြစ်များ
  • မီတာဒေတာကို update လုပ်ပါ။
  • ခွင့်ပြုချက်များ ပေးအပ်ခြင်း (သို့) ရုပ်သိမ်းခြင်း
  • trigger တစ်ခုကို လုပ်ပါ။
  • ကွင်းဆက်ပေါ်က parameters ကိုသတ်မှတ်ထားသည်

Transaction မှာ packaged logic လိုတဲ့အခါမှာ Smart Contract ကိုသုံးပြီး Static instruction sequence အဖြစ် ဖော်ပြဖို့ ခက်ခဲတဲ့ (သို့) deployed contract instance ကို reference နဲ့ခေါ်ဖို့လိုတဲ့အခါမှာ သုံးပါ။

IVM လုပ်ဆောင်နိုင်သော ကိရိယာများ

Executable::Ivm သည် raw IVM bytecode ကို သယ်ဆောင်သည်။ node များသည် chain အတွက်သတ်မှတ်ထားသော runtime ကန့်သတ်ချက်များအတွင်းတွင် ထိုbytecode ကိုလုပ်ဆောင်ကြသည်။ bytecode များကိုသေးငယ်ပြီး deterministic ထားရှိပါ။ စာချုပ်များသည် ငွေပေးချေမှု အကောင်အထည်ဖော်ခြင်း၏တစ်စိတ်တစ်ပိုင်းဖြစ်ပြီး ထို့ကြောင့် သဘောတူညီချက်ကိုသက်ရောက်စေသည်။

Executable::IvmProved သည် အတည်ပြုမှု သယ်ဆောင်သည့် စီးဆင်းမှုများအတွက် ရည်ရွယ်ထားပြီး အောက်ပါအချက်များကို သယ်ဆောင်သည်။

  • IVM ဘိုင်တာကုဒ်
  • deterministic instruction ကို overlay လုပ်ပေးခြင်း
  • အကောင်အထည်ဖော်မှု-ဖြစ်ရပ်များအတွက် ကတိပေးချက်
  • ဓာတ်ငွေ့ဆိုင်ရာ မူဝါဒ ကတိပေးချက်

proof က overlay ကို executed bytecode နဲ့ ချိတ်ဆက်ပေးပါတယ်။ pipeline policy အပေါ် မူတည်ပြီး validators တွေက proof ကို စစ်ဆေးနိုင်ပြီး ထပ်မံ play execution ကို safety check အဖြစ် ထပ်မံလုပ်နိုင်ပါတယ်။

အသုံးပြုထားသော စာချုပ်ခေါ်ဆိုချက်များ

Executable::ContractCall သည် အသုံးပြုထားသော စာချုပ်ဥပမာကို လိပ်စာဖြင့် ခေါ်ယူသည်။ စာချုပ်ကုဒ်ကို သီးခြားမှတ်ပုံတင်တဲ့အခါ ဒါကိုသုံးပြီး ငွေကြေးလုပ်ငန်းများတွင် ဘိုင်တာကုဒ်ကို အမြဲမပါဘဲ ရည်ညွှန်းချက်ဖြင့်ခေါ်ဆိုသင့်ပါတယ်။

လုပ်ငန်းဆိုင်ရာ လမ်းညွှန်ချက်များ

  • စာချုပ်များကို သတ်မှတ်ထားပါ။ စာချုပ်အပြုအမူသည် ဒေသတွင်း နံရံနာရီအချိန်၊ အိမ်ရှင်ဖိုင်စနစ်အခြေအနေ၊ ကွန်ရက်ခေါ်ဆိုမှုများ သို့မဟုတ် အခြား peer-local input များအပေါ် မူတည်ခြင်းမရှိရပေ။
  • အသုံးဝင်ဝန်ဆောင်မှုများကို ညှိထားပါ။ ဘိုင်တကုဒ်ကြီးသည် ငွေချေးမှု အရွယ်အစားကို မြှင့်တင်ပေးပြီး ဘလော့ကာ ပျံ့နှံ့မှု ကုန်ကျစရိတ်ကို မြှင့်တင်ပေးသည်။
  • ရိုးရှင်းတဲ့ Ledger အပြောင်းအလဲတွေအတွက် ရိုက်နှိပ်ထားတဲ့ ညွှန်ကြားချက်တွေကို ကြိုက်တယ်။ ဒါတွေကို စစ်ဆေးဖို့ ပိုလွယ်ပြီး အကောင်အထည်ဖော်ဖို့ စျေးသက်သာပါတယ်။
  • စာချုပ်တိုးတက်မှုနဲ့ မှတ်ပုံတင် ခွင့်ပြုချက်တွေကို အရဲစွန့်မှု မြင့်မားတဲ့ လုပ်ငန်း ထိန်းချုပ်မှုတွေအဖြစ် သတ်မှတ်ပေးပါ။

နောက်တစ်ချက်ကြည့်ပါ-