Skip to content

JavaScript နှင့် TypeScript

လက်ရှိ JavaScript SDK အဲဒါက @iroha/iroha-js အိတ်ထဲတွင် Iroha အရင်းအမြစ် သစ်ပင်ပါ။ Node.js- ပထမ SDK အတွက် Torii, Norito ဆောက်လုပ်သူတွေ၊ လက်မှတ်ရေးထိုးခြင်း၊ စာမျက်နှာပြုစုခြင်း၊ ချိတ်ဆက်မှု ကြိုတင်ကြည့်ရှုချက်များနှင့် Kagemusha command transport များ။

အရင်းအမြစ်မှ တည်ဆောက်ခြင်း

အဆိုပါ package ကို အများပြည်သူ npm မှတ်ပုံတင်မှမရရှိပါ။ သင်ရည်ရွယ်သည့် node နှင့်အတူတူ pinned Iroha အရင်းအမြစ်ပြုပြင်မှုမှ တည်ဆောက်ပါ။

bash
git clone https://github.com/hyperledger-iroha/iroha.git
cd iroha/javascript/iroha_js
npm install
npm run build:native
npm run build:dist

Native build သည် cargo build -p iroha_js_host ကိုဖုံးအုပ်ပြီး SDK startup တွင်အသုံးပြုသော platformer-specific checksum ကိုမှတ်တမ်းတင်သည်။ အရင်းအမြစ် build နေရာများသည် native/ တွင်စစ်ဆေးထားသော host ကိုသာသတ်မှတ်သည်။ သီးခြားတည်ဆောက်ထားသော checksum စစ်ဆေးထားတဲ့ host ကိုရည်ရွယ်ချက်ရှိစွာဖြည့်သွင်းတဲ့အခါမှသာ IROHA_JS_NATIVE_DIR ကိုသတ်မှတ်ပါ။ Package က ESM - သာ ဖြစ်ပြီး CommonJS မှ dynamic import() ကို အသုံးပြုပါ။

အမြန်စတင်ခြင်း

js
import { ToriiClient } from "@iroha/iroha-js/torii";
import { generateKeyPair } from "@iroha/iroha-js/crypto";

const torii = new ToriiClient("http://127.0.0.1:8080", {
  authToken: "dev-token",
});

const keys = generateKeyPair();
console.log(keys.publicKey);

Taira ကို စမ်းကြည့်ပါ။ ဖတ်ရုံပဲ

Node.js 24 မှာ ထည့်သွင်းထားတဲ့ fetch ကို အသုံးပြုပြီး လက်မှတ်ထိုးခြင်းနှင့် Norito ငွေပေးချေမှု ကုဒ်ကို မထည့်မီ Taira ကို စစ်ဆေးပါ။

js
const root = "https://taira.sora.org";

const status = await fetch(`${root}/status`).then((res) => res.json());
console.log({
  blocks: status.blocks,
  queueSize: status.queue_size,
  peers: status.peers,
});

const domains = await fetch(`${root}/v1/domains?limit=5`).then((res) =>
  res.json(),
);
console.log(domains.items.map((domain) => domain.id));

const assets = await fetch(`${root}/v1/assets/definitions?limit=5`).then((res) =>
  res.json(),
);
for (const asset of assets.items) {
  console.log(asset.id, asset.name, asset.total_quantity);
}

taira-readonly.mjs အဖြစ် သိမ်းထားပြီးရင် Run လုပ်ပါ။

bash
node taira-readonly.mjs

လက်မှတ်ထိုးထားသော SDK ဖုန်းခေါ်ဆိုမှုများကို ဤဖတ်ခြင်းသာ စစ်ဆေးချက်များ အလုပ်ဖြစ်ပြီးနောက်မှသာ ရွှေ့ပါ။ အများပြည်သူ Taira သည် satiated queue သို့မဟုတ် gateway error ကို ယာယီပြန်ပို့နိုင်သည်၊ ထို့ကြောင့် တိုက်ရိုက်ကွန်ရက် စမ်းသပ်မှုများ opt-in ကို CI တွင်ထိန်းသိမ်းပါ။

အသုံးဝင်တဲ့ အပိုလမ်းကြောင်းတင်သွင်းမှု

js
import { ToriiClient } from "@iroha/iroha-js/torii";
import { noritoEncodeInstruction } from "@iroha/iroha-js/norito";
import { generateKeyPair } from "@iroha/iroha-js/crypto";

Browser တစ်ခုတည်းသော Connect bootstrap အတွက် Node-first ToriiClient မျက်နှာပြင်ကို တင်သွင်းခြင်းအစား @iroha/iroha-js/connect-browser ကိုအသုံးပြုပါ။

Native Escrow

JavaScript နှင့် TypeScript Applications များသည် native escrow ကိုအသုံးပြုနိုင်သည်။ Kotodama လက်မှတ်ထိုးထားတဲ့ စာချုပ်တွေကို စုစည်းပါ။ @iroha/iroha-js/kotodama-compiler; Direct native escrow transaction builders တွေကို လက်ရှိမှာ JavaScript SDK. ကြည့်ပါ။ Native Asset Escrow Escrow host-call နမူနာအတွက်ပါ။

လက်ရှိအကာအကွယ်

SDK သည် အောက်ပါအချက်များအပေါ် အာရုံစိုက်သည်-

  • Torii HTTP နှင့် WebSocket အကူအညီပေးသူများ
  • Norito ငွေပေးချေခြင်းနှင့် ညွှန်ကြားချက် တည်ဆောက်သူများ
  • Kotodama compilation၊ escrow host-call builds အပါအဝင်
  • Ed25519 လက်မှတ်ရေးထိုးခြင်းနှင့် သော့မျိုးဆက်
  • စာမျက်နှာပြုပြင်ခြင်းနှင့် ပြန်လည်စမ်းသပ်မှု အကူအညီများ
  • Browser bootstrap အကူများကို ချိတ်ဆက်ပါ
  • Kagemusha အသင့်ရှိမှု၊ ထပ်မံဖြည့်စွက်ခြင်း၊ ပြန်လည်ပေးသွင်းခြင်းနှင့် လုပ်ငန်းဆောင်ရွက်မှုအခြေအနေဆိုင်ရာ သယ်ယူပို့ဆောင်ရေးကူညီသူများ

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

  • javascript/iroha_js/README.md
  • javascript/iroha_js/package.json