JSON-RPC API Genel Bakış

Kora v2.2.0-beta kullanıyor musunuz? Yeni paket yöntemleri (signBundle, signAndSendBundle, estimateBundleFee) ve getVersion için Beta dokümanlarına göz atın.

TypeScript SDK

@solana/kora paketi, bir Kora sunucusuyla etkileşim için üç istemci seçeneği sunar:

KoraClient (Bağımsız)

Bağımsız kullanım için KoraClient kullanın. @solana/kit v5.0+ ile çalışır.

import { KoraClient } from "@solana/kora";
const kora = new KoraClient({ rpcUrl: "https://your-kora-server.com" });
const config = await kora.getConfig();

koraPlugin (Kit Oluşturulabilir)

Kora yöntemlerini mevcut bir Kit istemcisine eklemek için koraPlugin() kullanın. createEmptyClient().use() deseni için @solana/kit v5.4+ gerektirir.

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

Eklenti, Kit tipli yanıtlar (Address, Blockhash, Base64EncodedWireTransaction) sağlar ve diğer eklentilerle oluşturma için KoraPlugin tipini dışa aktarır.

createKitKoraClient (Kit İstemcisi)

Otomatik işlem planlama, ücret tahmini, ödeme enjeksiyonu ve yürütme ile tam Kit entegrasyonu için createKitKoraClient() kullanın. Bu, çoğu uygulama için önerilen yaklaşımdır. @solana/kit v6.1+ gerektirir.

Kit istemcisi, Kora'yı Kit'in eklenti mimarisi (planlayıcı, yürütücü, ödeme eklentileri) ile birleştirerek tokenProgram() gibi Kit program eklentilerini doğrudan kullanabilmenizi sağlar.

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

Yapılandırma seçenekleri:

SeçenekGerekliAçıklama
endpointEvetKora RPC uç nokta URL'si
rpcUrlEvetHesaplama birimi tahmini ve program eklentisi uyumluluğu için Solana RPC URL'si
feeTokenEvetÜcret ödemesi için SPL mint adresi
feePayerWalletEvetSPL ücret ödemesini yetkilendiren TransactionSigner
apiKeyHayırKimlik doğrulama için API anahtarı
hmacSecretHayırİmza tabanlı kimlik doğrulama için HMAC gizli anahtarı
computeUnitLimitHayırSabit hesaplama birimi sınırı (ayarlanmadıysa simülasyon tabanlı tahmin kullanılır)
computeUnitPriceHayırMikro-lamport cinsinden öncelik ücreti
tokenProgramIdHayırToken program ID'si (varsayılan olarak Token Program; Token-2022 tokenleri için Token-2022 adresi kullanın)

Protokol

  • Standart: JSON-RPC 2.0
  • Aktarım: HTTP POST
  • Content-Type: application/json
  • Uç Nokta: http://your-kora-instance/

Kullanılabilir Yöntemler

YöntemAçıklama
estimateTransactionFeeİşlem ücretini hem lamport hem de belirtilen token cinsinden tahmin eder.
getBlockhashKora sunucusunun bağlı olduğu Solana RPC'den en son blockhash değerini alır.
getConfigMevcut Kora sunucu yapılandırmasını getirir.
getPayerSignerKora sunucusundan ödeme yapan imzalayıcıyı ve ödeme hedefini getirir.
getPaymentInstructionKora paymaster'a ücret ödemesi için bir işleme eklenecek ödeme talimatı oluşturur.
getSupportedTokensÜcret ödemesi için desteklenen token listesini getirir.
signAndSendTransactionBir işlemi imzalar ve anında Solana ağına yayınlar.
signTransactionİşlem, ücret ödeyiciye gerekli ödemeyi içeriyorsa, işlemi yayınlamadan Kora ücret ödeyicisiyle imzalar.
transferTransactionKora'yı ücret ödeyici olarak kullanarak bir token transfer işlemi oluşturur.

İstek Formatı

Tüm istekler JSON-RPC 2.0 standardını takip eder:

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

Yanıt Formatı

Başarılı yanıtlar:

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

Hata yanıtları:

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

Is this page helpful?

İçindekiler

Sayfayı Düzenle

Yönetici

© 2026 Solana Vakfı.
Tüm hakları saklıdır.
Bağlanın