Gebruik je Kora v2.2.0-beta? Zie de Beta docs voor nieuwe bundelmethoden (
signBundle,signAndSendBundle,estimateBundleFee) engetVersion.
TypeScript SDK
Het @solana/kora pakket biedt drie clientopties voor interactie met een
Kora-server:
KoraClient (Standalone)
Gebruik KoraClient voor standalone gebruik. Werkt met @solana/kit v5.0+.
import { KoraClient } from "@solana/kora";const kora = new KoraClient({ rpcUrl: "https://your-kora-server.com" });const config = await kora.getConfig();
koraPlugin (Kit Composable)
Gebruik koraPlugin() om Kora-methoden samen te stellen in een bestaande
Kit-client. Vereist @solana/kit v5.4+ voor het createEmptyClient().use()
patroon.
import { createEmptyClient } from "@solana/kit";import { koraPlugin } from "@solana/kora";const client = createEmptyClient().use(koraPlugin({ endpoint: "https://your-kora-server.com" }));const config = await client.kora.getConfig();
De plugin biedt Kit-getypeerde responses (Address, Blockhash,
Base64EncodedWireTransaction) en exporteert het KoraPlugin type voor
compositie met andere plugins.
createKitKoraClient (Kit Client)
Gebruik createKitKoraClient() voor volledige Kit-integratie met automatische
transactieplanning, kostenraming, betalingsinjectie en uitvoering. Dit is de
aanbevolen aanpak voor de meeste applicaties. Vereist @solana/kit v6.1+.
De Kit-client stelt Kora samen met de plugin-architectuur van Kit (planner,
executor, payer plugins) zodat je Kit program plugins zoals tokenProgram()
direct kunt gebruiken.
import { createKitKoraClient } from "@solana/kora";import { address } from "@solana/kit";import { tokenProgram } from "@solana-program/token";const client = await createKitKoraClient({endpoint: "https://your-kora-server.com",rpcUrl: "https://api.mainnet-beta.solana.com",feeToken: address("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"), // USDCfeePayerWallet: userSigner // TransactionSigner that authorizes SPL fee payment});// Compose with Kit program pluginsconst tokenClient = client.use(tokenProgram());// Send transactions — Kora handles blockhash, fee estimation,// payment instruction injection, signing, and submissionawait tokenClient.token.instructions.transferToATA({/* ... */}).sendTransaction();
Configuratieopties:
| Optie | Vereist | Beschrijving |
|---|---|---|
endpoint | Ja | Kora RPC endpoint URL |
rpcUrl | Ja | Solana RPC URL voor compute unit schatting en programma plugin compatibiliteit |
feeToken | Ja | SPL mint-adres voor kostenbetaling |
feePayerWallet | Ja | TransactionSigner die de SPL kostenbetaling autoriseert |
apiKey | Nee | API-sleutel voor authenticatie |
hmacSecret | Nee | HMAC-geheim voor op handtekening gebaseerde authenticatie |
computeUnitLimit | Nee | Vaste compute unit limiet (gebruikt op simulatie gebaseerde schatting indien niet ingesteld) |
computeUnitPrice | Nee | Prioriteitskosten in micro-lamports |
tokenProgramId | Nee | Token program ID (standaard Token Program; gebruik Token-2022 adres voor Token-2022 tokens) |
Protocol
- Standaard: JSON-RPC 2.0
- Transport: HTTP POST
- Content-Type: application/json
- Endpoint:
http://your-kora-instance/
Beschikbare Methoden
| Methode | Beschrijving |
|---|---|
| estimateTransactionFee | Schat de transactiekosten in zowel lamports als het opgegeven token. |
| getBlockhash | Haalt de laatste blockhash op van de Solana RPC waarmee de Kora-server is verbonden. |
| getConfig | Haalt de huidige Kora-serverconfiguratie op. |
| getPayerSigner | Haalt de payer signer en betalingsbestemming op van de Kora-server. |
| getPaymentInstruction | Creëert een betalingsinstructie om toe te voegen aan een transactie voor kostenbetaling aan de Kora paymaster. |
| getSupportedTokens | Haalt de lijst met tokens op die worden ondersteund voor kostenbetaling. |
| signAndSendTransaction | Ondertekent een transactie en verstuurt deze direct naar het Solana-netwerk. |
| signTransaction | Ondertekent een transactie met de Kora fee payer als de transactie de noodzakelijke betaling aan de fee payer bevat, zonder deze uit te zenden. |
| transferTransaction | Creëert een tokenoverdrachtstransactie met Kora als fee payer. |
Aanvraagformaat
Alle aanvragen volgen de JSON-RPC 2.0-standaard:
{"jsonrpc": "2.0","id": 1,"method": "methodName","params": {}}
Responseformaat
Succesvolle responses:
{"jsonrpc": "2.0","id": 1,"result": {}}
Foutresponses:
{"jsonrpc": "2.0","id": 1,"error": {"code": -32600,"message": "Invalid request"}}
Is this page helpful?