Skip to content

JavaScript va TypeScript

Joriy JavaScript SDK bo ' lmoqda @iroha/iroha-js toʻplamda Iroha manbai daraxt. Bu Node.js- Birinchidan SDK uchun Torii, Norito Builderlar, imzolash, sahifalashtirish, Connect previews va Kagemusha buyruq transport.

Manbaiga asoslanib quring

To'plam hozirda npm davlat ro'yxatidan mavjud emas. Uni maqsadli bo'lgan nod bilan bir xil biriktirilgan Iroha manba o'zgarishidan quring:

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

Asosiy qurilma cargo build -p iroha_js_host ni qoplaydi va SDK ishga tushirishida ishlatiladigan platformaga mos checksumni yozib oladi. Manba native/da xostni tasdiqlagan joylarni yaratadi. Faqat alohida qurilgan, checksum-tahqiqlangan xostni qasddan etkazib berganda IROHA_JS_NATIVE_DIR ni o'rnating. To'plam faqat ESM; CommonJS dan foydalanish dinamik import().

Tez ishga tushirish

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 Faqat o'qishga harakat qiling

Imzolash va Norito muomala kodini qo'shishdan oldin Taira ni tekshirish uchun Node.js 24 da o'rnatilgan fetchdan foydalaning:

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

Uni taira-readonly.mjs sifatida saqlash, so'ngra uni ishga tushirish:

bash
node taira-readonly.mjs

SDK imzolangan qo'ng'iroqlarga faqat ushbu o'qish-o'qish tekshiruvlari ishlagandan so'ng o'ting. Umumiy Taira vaqtincha to'yilgan navbat yoki darvoza xatosiga qaytishi mumkin, shuning uchun jonli tarmoq sinovlarini CI ga kirishga ruxsat bering.

Foydalanuvchi kichik yo'l importlari:

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

Faqat brauzerda ishlaydigan Connect bootstrap uchun Node-first ToriiClient yuzasini import qilish o'rniga @iroha/iroha-js/connect-browser dan foydalaning.

Native escrow

JavaScript va TypeScript ilovalar nativ escrow orqali foydalanish mumkin Kotodama kontraktlar. "Esrow host" qo'ng'iroqlarini @iroha/iroha-js/kotodama-compiler; toʻgʻridan-toʻgʻri vujudga kelgan eskrov tranzaksiyalarini tuzgan shaxslar hozirda JavaScript SDK. Koʻring Native Asset Escrow "Eskrow host call" misoli uchun.

Joriy qamrov

SDK quyidagilarga e'tibor qaratadi:

  • Torii HTTP va WebSocket yordamchilari
  • Norito tranzaksiyalar va ko'rsatmalar quruvchilari
  • Kotodama to'plami, shu jumladan depozit uyasi qo'ng'iroqlar o'rnatilishi
  • Ed25519 imzolash va kalit avlodi
  • sahifalashtirish va qayta urinish yordamchilari
  • Browserni ishga tushirish yordamchilarini ulash
  • Kagemusha tayyorgarligi, to'ldirish, sotib olish va faoliyat ko'rsatishi holatidagi transport yordamchilari

Yuqoridagi ma'lumotlar

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