Resumen de la API JSON-RPC

¿Usando Kora v2.2.0-beta? Consulta la documentación Beta para nuevos métodos de paquetes (signBundle, signAndSendBundle, estimateBundleFee) y getVersion.

SDK de TypeScript

El paquete @solana/kora proporciona tres opciones de cliente para interactuar con un servidor Kora:

KoraClient (Independiente)

Usa KoraClient para uso independiente. Compatible 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 (Composable con Kit)

Usa koraPlugin() para componer métodos de Kora en un cliente Kit existente. Requiere @solana/kit v5.4+ para el patrón 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();

El plugin proporciona respuestas tipadas con Kit (Address, Blockhash, Base64EncodedWireTransaction) y exporta el tipo KoraPlugin para composición con otros plugins.

createKitKoraClient (Cliente Kit)

Usa createKitKoraClient() para integración completa con Kit con planificación automática de transacciones, estimación de tarifas, inyección de pagos y ejecución. Este es el enfoque recomendado para la mayoría de las aplicaciones. Requiere @solana/kit v6.1+.

El cliente Kit compone Kora con la arquitectura de plugins de Kit (planificador, ejecutor, plugins de pagador) para que puedas usar plugins de programas de Kit como tokenProgram() directamente.

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

Opciones de configuración:

OpciónRequeridaDescripción
endpointURL del endpoint RPC de Kora
rpcUrlURL RPC de Solana para estimación de unidades de cómputo y compatibilidad con plugins de programas
feeTokenDirección del mint SPL para el pago de tarifas
feePayerWalletTransactionSigner que autoriza el pago de tarifas SPL
apiKeyNoClave API para autenticación
hmacSecretNoSecreto HMAC para autenticación basada en firma
computeUnitLimitNoLímite fijo de unidades de cómputo (usa estimación basada en simulación si no se establece)
computeUnitPriceNoTarifa prioritaria en micro-lamports
tokenProgramIdNoID del Token Program (por defecto Token Program; usa la dirección Token-2022 para tokens Token-2022)

Protocolo

  • Estándar: JSON-RPC 2.0
  • Transporte: HTTP POST
  • Content-Type: application/json
  • Endpoint: http://your-kora-instance/

Métodos Disponibles

MétodoDescripción
estimateTransactionFeeEstima la tarifa de transacción en lamports y en el token especificado.
getBlockhashObtiene el último blockhash del RPC de Solana al que está conectado el servidor Kora.
getConfigRecupera la configuración actual del servidor Kora.
getPayerSignerRecupera el firmante pagador y el destino de pago del servidor Kora.
getPaymentInstructionCrea una instrucción de pago para agregar a una transacción y realizar el pago de tarifas al paymaster de Kora.
getSupportedTokensRecupera la lista de tokens admitidos para el pago de tarifas.
signAndSendTransactionFirma una transacción y la transmite inmediatamente a la red de Solana.
signTransactionFirma una transacción con el pagador de tarifas de Kora si la transacción incluye el pago necesario al pagador de tarifas sin transmitirla.
transferTransactionCrea una transacción de transferencia de tokens con Kora como pagador de tarifas.

Formato de Solicitud

Todas las solicitudes siguen el estándar JSON-RPC 2.0:

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

Formato de Respuesta

Respuestas exitosas:

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

Respuestas de error:

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

Is this page helpful?

Tabla de Contenidos

Editar Página

Gestionado por

© 2026 Fundación Solana.
Todos los derechos reservados.
Conéctate