Aller au contenu principal

SDK TypeScript

@openfiat/sdk (openfiat-sdks/typescript) — un client typé pour la surface JSON-RPC d’un nœud, plus la signature de portefeuille Ed25519 (via @noble/ed25519, interopérable avec l’ed25519-dalek du SDK Rust — la même seed de portefeuille produit les mêmes clés et signatures dans l’une ou l’autre langue) et le support du pont de chaîne Solana. Sûr pour le navigateur/edge par conception ; l’E/S de fichier de portefeuille propre à Node vit dans un point d’entrée séparé @openfiat/sdk/node.

Installation

Pré-1.0 et pas encore publié sur npm — dépendez-en comme d’une dépendance git, épinglée à un commit :

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

Démarrage rapide

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

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

Les méthodes typées sont regroupées un module par domaine — node, chain, oracles, providers, advertisements, reservations, notifications :

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

const version = await node.getVersion(client);

Signer et soumettre une écriture

Chaque méthode sendX prend le propre objet d’événement du domaine plus un Keypair — le SDK construit la charge signée et la soumet ; un nœud ne construit ni ne signe jamais rien en votre nom :

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

const keypair = await generateKeypair(); // ou keypairFromSeed(...) / loadWalletFile(...) depuis "@openfiat/sdk/node"
const oracleId = await oracles.sendOraclePublish(client, publish, keypair);

Exemples

Chaque exemple dans typescript/examples tourne contre un nœud réel et est couvert par un test dans tests/live_node.test.ts, exécuté dans la CI contre un vrai processus openfiat-node (voir le job typescript-sdk-live-node de .github/workflows/ci.yml) — un exemple cassé casse le build de la même façon qu’un test cassé :

Exécutez l’un d’eux contre un nœud local :

# terminal 1 — depuis openfiat-core
cargo run -p openfiat-cli -- --rpc-bind-address 127.0.0.1:7080

# terminal 2 — depuis openfiat-sdks/typescript
pnpm tsx examples/trading_bot.ts