JSON-RPC API Overzicht

Gebruik je Kora v2.2.0-beta? Zie de Beta docs voor nieuwe bundelmethoden (signBundle, signAndSendBundle, estimateBundleFee) en getVersion.

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"), // USDC
feePayerWallet: userSigner // TransactionSigner that authorizes SPL fee payment
});
// Compose with Kit program plugins
const tokenClient = client.use(tokenProgram());
// Send transactions — Kora handles blockhash, fee estimation,
// payment instruction injection, signing, and submission
await tokenClient.token.instructions
.transferToATA({
/* ... */
})
.sendTransaction();

Configuratieopties:

OptieVereistBeschrijving
endpointJaKora RPC endpoint URL
rpcUrlJaSolana RPC URL voor compute unit schatting en programma plugin compatibiliteit
feeTokenJaSPL mint-adres voor kostenbetaling
feePayerWalletJaTransactionSigner die de SPL kostenbetaling autoriseert
apiKeyNeeAPI-sleutel voor authenticatie
hmacSecretNeeHMAC-geheim voor op handtekening gebaseerde authenticatie
computeUnitLimitNeeVaste compute unit limiet (gebruikt op simulatie gebaseerde schatting indien niet ingesteld)
computeUnitPriceNeePrioriteitskosten in micro-lamports
tokenProgramIdNeeToken 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

MethodeBeschrijving
estimateTransactionFeeSchat de transactiekosten in zowel lamports als het opgegeven token.
getBlockhashHaalt de laatste blockhash op van de Solana RPC waarmee de Kora-server is verbonden.
getConfigHaalt de huidige Kora-serverconfiguratie op.
getPayerSignerHaalt de payer signer en betalingsbestemming op van de Kora-server.
getPaymentInstructionCreëert een betalingsinstructie om toe te voegen aan een transactie voor kostenbetaling aan de Kora paymaster.
getSupportedTokensHaalt de lijst met tokens op die worden ondersteund voor kostenbetaling.
signAndSendTransactionOndertekent een transactie en verstuurt deze direct naar het Solana-netwerk.
signTransactionOndertekent een transactie met de Kora fee payer als de transactie de noodzakelijke betaling aan de fee payer bevat, zonder deze uit te zenden.
transferTransactionCreë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?

Inhoudsopgave

Pagina Bewerken

Beheerd door

© 2026 Solana Foundation.
Alle rechten voorbehouden.
Blijf Verbonden