Gambaran Umum JSON-RPC API

Menggunakan Kora v2.2.0-beta? Lihat dokumentasi Beta untuk metode bundle baru (signBundle, signAndSendBundle, estimateBundleFee) dan getVersion.

SDK TypeScript

Paket @solana/kora menyediakan tiga opsi klien untuk berinteraksi dengan server Kora:

KoraClient (Mandiri)

Gunakan KoraClient untuk penggunaan mandiri. Bekerja dengan @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 yang Dapat Digabungkan)

Gunakan koraPlugin() untuk menggabungkan metode Kora ke dalam klien Kit yang ada. Memerlukan @solana/kit v5.4+ untuk pola 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();

Plugin ini menyediakan respons bertipe Kit (Address, Blockhash, Base64EncodedWireTransaction) dan mengekspor tipe KoraPlugin untuk komposisi dengan plugin lainnya.

createKitKoraClient (Klien Kit)

Gunakan createKitKoraClient() untuk integrasi Kit penuh dengan perencanaan transaksi otomatis, estimasi biaya, injeksi pembayaran, dan eksekusi. Ini adalah pendekatan yang direkomendasikan untuk sebagian besar aplikasi. Memerlukan @solana/kit v6.1+.

Klien Kit menggabungkan Kora dengan arsitektur plugin Kit (perencana, eksekutor, plugin pembayar) sehingga Anda dapat menggunakan plugin program account Kit seperti tokenProgram() secara langsung.

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

Opsi konfigurasi:

OpsiWajibDeskripsi
endpointYaURL endpoint RPC Kora
rpcUrlYaURL RPC Solana untuk estimasi unit komputasi dan kompatibilitas plugin program
feeTokenYaAlamat mint SPL untuk pembayaran biaya
feePayerWalletYaTransactionSigner yang mengotorisasi pembayaran biaya SPL
apiKeyTidakKunci API untuk autentikasi
hmacSecretTidakRahasia HMAC untuk autentikasi berbasis tanda tangan
computeUnitLimitTidakBatas unit komputasi tetap (menggunakan estimasi berbasis simulasi jika tidak diatur)
computeUnitPriceTidakBiaya prioritas dalam mikro-lamport
tokenProgramIdTidakID Token Program (default ke Token Program; gunakan alamat Token-2022 untuk token Token-2022)

Protokol

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

Metode yang Tersedia

MetodeDeskripsi
estimateTransactionFeeMemperkirakan biaya transaksi dalam lamport dan token yang ditentukan.
getBlockhashMendapatkan blockhash terbaru dari Solana RPC yang terhubung dengan server Kora.
getConfigMengambil konfigurasi server Kora saat ini.
getPayerSignerMengambil penanda tangan pembayar dan tujuan pembayaran dari server Kora.
getPaymentInstructionMembuat instruksi pembayaran untuk ditambahkan ke transaksi sebagai pembayaran biaya ke paymaster Kora.
getSupportedTokensMengambil daftar token yang didukung untuk pembayaran biaya.
signAndSendTransactionMenandatangani transaksi dan langsung menyiarkannya ke jaringan Solana.
signTransactionMenandatangani transaksi dengan pembayar biaya Kora jika transaksi mencakup pembayaran yang diperlukan kepada pembayar biaya tanpa menyiarkannya.
transferTransactionMembuat transaksi transfer token dengan Kora sebagai pembayar biaya.

Format Permintaan

Semua permintaan mengikuti standar JSON-RPC 2.0:

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

Format Respons

Respons yang berhasil:

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

Respons error:

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

Is this page helpful?

Daftar Isi

Edit Halaman

Dikelola oleh

© 2026 Yayasan Solana.
Semua hak dilindungi.
Terhubung