Aperçu de l'API JSON-RPC

Vous utilisez Kora v2.2.0-beta ? Consultez la documentation Beta pour les nouvelles méthodes de bundle (signBundle, signAndSendBundle, estimateBundleFee) et getVersion.

SDK TypeScript

Le package @solana/kora fournit trois options de client pour interagir avec un serveur Kora :

KoraClient (Autonome)

Utilisez KoraClient pour une utilisation autonome. Fonctionne avec @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 (Composable Kit)

Utilisez koraPlugin() pour composer les méthodes Kora dans un client Kit existant. Requiert @solana/kit v5.4+ pour le pattern createEmptyClient().use().

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();

Le plugin fournit des réponses typées Kit (Address, Blockhash, Base64EncodedWireTransaction) et exporte le type KoraPlugin pour la composition avec d'autres plugins.

createKitKoraClient (Client Kit)

Utilisez createKitKoraClient() pour une intégration complète de Kit avec planification automatique des transactions, estimation des frais, injection de paiement et exécution. Il s'agit de l'approche recommandée pour la plupart des applications. Requiert @solana/kit v6.1+.

Le client Kit compose Kora avec l'architecture de plugins de Kit (plugins de planification, d'exécution, de paiement) afin que vous puissiez utiliser directement les plugins de programme Kit comme tokenProgram().

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();

Options de configuration :

OptionRequisDescription
endpointOuiURL du point de terminaison RPC Kora
rpcUrlOuiURL RPC Solana pour l'estimation des unités de calcul et la compatibilité des plugins de programme
feeTokenOuiAdresse de mint SPL pour le paiement des frais
feePayerWalletOuiTransactionSigner qui autorise le paiement des frais SPL
apiKeyNonClé API pour l'authentification
hmacSecretNonSecret HMAC pour l'authentification basée sur signature
computeUnitLimitNonLimite d'unités de calcul fixe (utilise l'estimation basée sur simulation si non définie)
computeUnitPriceNonFrais de priorité en micro-lamports
tokenProgramIdNonID du Token Program (par défaut Token Program ; utilisez l'adresse Token-2022 pour les jetons Token-2022)

Protocole

  • Standard : JSON-RPC 2.0
  • Transport : HTTP POST
  • Content-Type : application/json
  • Point de terminaison : http://your-kora-instance/

Méthodes disponibles

MéthodeDescription
estimateTransactionFeeEstime les frais de transaction en lamports et dans le jeton spécifié.
getBlockhashRécupère le dernier blockhash depuis le RPC Solana auquel le serveur Kora est connecté.
getConfigRécupère la configuration actuelle du serveur Kora.
getPayerSignerRécupère le signataire payeur et la destination de paiement depuis le serveur Kora.
getPaymentInstructionCrée une instruction de paiement à ajouter à une transaction pour le paiement des frais au paymaster Kora.
getSupportedTokensRécupère la liste des jetons pris en charge pour le paiement des frais.
signAndSendTransactionSigne une transaction et la diffuse immédiatement sur le réseau Solana.
signTransactionSigne une transaction avec le payeur de frais Kora si la transaction inclut le paiement nécessaire au payeur de frais sans la diffuser.
transferTransactionCrée une transaction de transfert de jetons avec Kora en tant que payeur de frais.

Format de requête

Toutes les requêtes suivent le standard JSON-RPC 2.0 :

{
"jsonrpc": "2.0",
"id": 1,
"method": "methodName",
"params": {}
}

Format de réponse

Réponses réussies :

{
"jsonrpc": "2.0",
"id": 1,
"result": {}
}

Réponses d'erreur :

{
"jsonrpc": "2.0",
"id": 1,
"error": {
"code": -32600,
"message": "Invalid request"
}
}

Is this page helpful?

Table des matières

Modifier la page

Géré par

© 2026 Fondation Solana.
Tous droits réservés.
Restez connecté