Panoramica API JSON-RPC

Stai usando Kora v2.2.0-beta? Consulta la documentazione Beta per i nuovi metodi bundle (signBundle, signAndSendBundle, estimateBundleFee) e getVersion.

SDK TypeScript

Il pacchetto @solana/kora fornisce tre opzioni client per interagire con un server Kora:

KoraClient (Autonomo)

Usa KoraClient per un utilizzo autonomo. Funziona con @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 (Componibile Kit)

Usa koraPlugin() per comporre i metodi Kora in un client Kit esistente. Richiede @solana/kit v5.4+ per il 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();

Il plugin fornisce risposte tipizzate Kit (Address, Blockhash, Base64EncodedWireTransaction) ed esporta il tipo KoraPlugin per la composizione con altri plugin.

createKitKoraClient (Client Kit)

Usa createKitKoraClient() per un'integrazione completa con Kit con pianificazione automatica delle transazioni, stima delle commissioni, iniezione del pagamento ed esecuzione. Questo è l'approccio consigliato per la maggior parte delle applicazioni. Richiede @solana/kit v6.1+.

Il client Kit compone Kora con l'architettura plugin di Kit (planner, executor, payer plugin) così puoi utilizzare direttamente i plugin di programma Kit come 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();

Opzioni di configurazione:

OpzioneObbligatoriaDescrizione
endpointURL dell'endpoint RPC Kora
rpcUrlURL RPC Solana per la stima delle unità di calcolo e la compatibilità con i plugin di programma
feeTokenIndirizzo mint SPL per il pagamento delle commissioni
feePayerWalletTransactionSigner che autorizza il pagamento delle commissioni SPL
apiKeyNoChiave API per l'autenticazione
hmacSecretNoSegreto HMAC per l'autenticazione basata su firma
computeUnitLimitNoLimite fisso di unità di calcolo (usa la stima basata su simulazione se non impostato)
computeUnitPriceNoCommissione prioritaria in micro-lamport
tokenProgramIdNoID del Token Program (predefinito Token Program; usa l'indirizzo Token-2022 per i token Token-2022)

Protocollo

  • Standard: JSON-RPC 2.0
  • Trasporto: HTTP POST
  • Content-Type: application/json
  • Endpoint: http://your-kora-instance/

Metodi Disponibili

MetodoDescrizione
estimateTransactionFeeStima la commissione della transazione sia in lamport che nel token specificato.
getBlockhashOttiene l'ultimo blockhash dall'RPC Solana a cui il server Kora è connesso.
getConfigRecupera la configurazione corrente del server Kora.
getPayerSignerRecupera il firmatario pagante e la destinazione di pagamento dal server Kora.
getPaymentInstructionCrea un'istruzione di pagamento da aggiungere a una transazione per il pagamento delle commissioni al paymaster Kora.
getSupportedTokensRecupera l'elenco dei token supportati per il pagamento delle commissioni.
signAndSendTransactionFirma una transazione e la trasmette immediatamente alla rete Solana.
signTransactionFirma una transazione con il pagatore delle commissioni Kora se la transazione include il pagamento necessario al pagatore delle commissioni senza trasmetterla.
transferTransactionCrea una transazione di trasferimento token con Kora come pagatore delle commissioni.

Formato della Richiesta

Tutte le richieste seguono lo standard JSON-RPC 2.0:

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

Formato della Risposta

Risposte di successo:

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

Risposte di errore:

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

Is this page helpful?

Indice dei contenuti

Modifica pagina

Gestito da

© 2026 Solana Foundation.
Tutti i diritti riservati.
Resta connesso