Skip to content

JavaScript და TypeScript ​

ამჟამინდელი JavaScript SDK არის @iroha/iroha-js პაკეტი Iroha წყარო ხეში. ეს არის Node.js-პირველი SDK for Torii, Norito builders, signing, pagination, Connect previews, and Kagemusha command transport.

შენება წყაროდან ​

პაკეტი ამჟამად არ არის ხელმისაწვდომი საჯარო npm რეესტრიდან. შეიქმნას იგი იმავე 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

ადგილობრივი ნაგებობა დაფარავს cargo build -p iroha_js_host და აღწერს პლატფორმის სპეციფიკური შემოწმების რაოდენობას, რომელიც გამოიყენება SDK სტარტაპზე. წყარო ნაგებობის ადგილებში, რომლებიც შეამოწმეს მასპინძელი native/. შეადგინეთ IROHA_JS_NATIVE_DIR მხოლოდ ცალკე აშენებული, შემოწმების თანხით დადასტურებული მასპინძლის განზრახ მიწოდებისას. პაკეტი არის ESM - მხოლოდ; CommonJS-დან გამოიყენეთ დინამიური 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 მხოლოდ წაკითხვა ​

გამოიყენეთ ჩაშენებული fetch Node.js 24-ში, რათა შეამოწმოთ Taira ხელმოწერისა და Norito ტრანზაქციის კოდის დამატებამდე:

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, შემდეგ გაუშვით:

bash
node taira-readonly.mjs

გადადით SDK ხელმოწერილ ზარებზე მხოლოდ მას შემდეგ, რაც ეს წაკითხვა-მხოლოდ შემოწმებები მუშაობს. საჯარო Taira შეიძლება დროებით დაბრუნდეს შეჯერებული რიგის ან კარიბჭე შეცდომა, ასე რომ შეინახეთ ცოცხალი ქსელის ტესტები opt-in in CI.

სასარგებლო ქვემავალიანი იმპორტი:

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

მხოლოდ ბრაუზერისთვის Connect bootstrap- ისთვის, გამოიყენეთ @iroha/iroha-js/connect-browser ნაცვლად Node-first ToriiClient ზედაპირის იმპორტის.

ადგილობრივი საფინანსო ანაზღაურება ​

JavaScript და TypeScript აპლიკაციებში შეიძლება გამოყენებულ იქნას ადგილობრივი საფარდნო კონტრაქტები Kotodama ხელშეკრულებების მეშვეობით. შეადგინეთ საფარდო მასპინძელი მოწოდებები @iroha/iroha-js/kotodama-compiler; პირდაპირი ადგილობრივი ოდენობა ტრანზაქციის შემქმნელები ამჟამად არ არიან გამოფენილი JavaScript SDK. იხილეთ Native Asset Escrow ესკროვის მასპინძელი მოწოდების მაგალითისთვის.

ამჟამინდელი მოცულობა ​

SDK ორიენტირებულია:

  • Torii HTTP და WebSocket დამხმარეები
  • Norito ტრანზაქციების და ინსტრუქციის შემქმნელები
  • Kotodama კომპილაცია, მათ შორის საფარდობო მასპინძელი მოწოდების ნაგებობები
  • Ed25519 ხელმოწერა და საკვანძო თაობა
  • პაჟინაციის და განმეორებითი გამოცდის დამხმარეები
  • ბრაუზერის bootstrap დამხმარეების დაკავშირება
  • კაგემუშას მზაობა, დამატება, გადახდა და ექსპლუატაციის სტატუსის ტრანსპორტის დამხმარეები

წინსავალი რეფერენციები ​

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