मुख्य कंटेंट तक स्किप करें

TypeScript SDK

@openfiat/sdk (openfiat-sdks/typescript) — एक नोड के JSON-RPC इंटरफ़ेस के लिए एक टाइप्ड क्लाइंट, साथ ही Ed25519 वॉलेट हस्ताक्षर (@noble/ed25519 के माध्यम से, Rust SDK के ed25519-dalek के साथ अंतर-संचालनीय — वही वॉलेट seed दोनों भाषाओं में वही कुंजियाँ और हस्ताक्षर उत्पन्न करता है) और Solana चेन ब्रिज समर्थन। डिज़ाइन से ब्राउज़र/edge-सुरक्षित; केवल-Node वॉलेट फ़ाइल I/O एक अलग @openfiat/sdk/node प्रवेश बिंदु में रहता है।

स्थापना

Pre-1.0 और अभी npm पर प्रकाशित नहीं — इसे एक git निर्भरता के रूप में लें, एक commit पर पिन:

pnpm add "github:OpenFiat-org/openfiat-sdks#<commit>&path:typescript"

त्वरित प्रारंभ

import { Client } from "@openfiat/sdk";

const client = new Client({ endpoint: "http://localhost:7080", timeoutMs: 30_000 });
const version = await client.call("getVersion", {});

टाइप्ड मेथड प्रति डोमेन एक मॉड्यूल में समूहित हैं — node, chain, oracles, providers, advertisements, reservations, notifications:

import { node } from "@openfiat/sdk";

const version = await node.getVersion(client);

एक लेखन पर हस्ताक्षर और सबमिट करना

हर sendX मेथड डोमेन के अपने इवेंट ऑब्जेक्ट के साथ एक Keypair लेता है — SDK हस्ताक्षरित payload बनाता और सबमिट करता है; एक नोड कभी आपकी ओर से कुछ भी संरचित या हस्ताक्षरित नहीं करता:

import { generateKeypair, oracles } from "@openfiat/sdk";

const keypair = await generateKeypair(); // या "@openfiat/sdk/node" से keypairFromSeed(...) / loadWalletFile(...)
const oracleId = await oracles.sendOraclePublish(client, publish, keypair);

उदाहरण

typescript/examples का हर उदाहरण एक असली नोड के विरुद्ध चलता है और tests/live_node.test.ts में एक टेस्ट द्वारा कवर है, CI में एक असली openfiat-node प्रक्रिया के विरुद्ध चलाया गया (.github/workflows/ci.yml का typescript-sdk-live-node जॉब देखें) — एक टूटा उदाहरण बिल्ड को उसी तरह विफल करता है जैसे एक टूटा टेस्ट करता:

  • basic.ts — एक क्लाइंट बनाएँ।
  • oracle_provider.ts — एक ऑरेकल प्रदाता के रूप में पंजीकृत करें, एक दर प्रकाशित करें।
  • notification_provider.ts — एक सूचना प्रदाता के रूप में पंजीकृत करें, एक डिलीवरी रिपोर्ट करें।
  • trading_bot.ts — एक विज्ञापन प्रकाशित करें, उसके विरुद्ध एक आरक्षण खोलें।
  • solana_transaction.ts — चेन ब्रिज के माध्यम से एक असली Solana लेनदेन हस्ताक्षरित और सबमिट करें।

इनमें से किसी को एक स्थानीय नोड के विरुद्ध चलाएँ:

# टर्मिनल 1 — openfiat-core से
cargo run -p openfiat-cli -- --rpc-bind-address 127.0.0.1:7080

# टर्मिनल 2 — openfiat-sdks/typescript से
pnpm tsx examples/trading_bot.ts