نظرة عامة على واجهة برمجة التطبيقات JSON-RPC

هل تستخدم Kora v2.2.0-beta؟ راجع مستندات الإصدار التجريبي لطرق الحزم الجديدة (signBundle، signAndSendBundle، estimateBundleFee) و getVersion.

مجموعة تطوير TypeScript

توفر حزمة @solana/kora ثلاثة خيارات للعميل للتفاعل مع خادم Kora:

KoraClient (مستقل)

استخدم KoraClient للاستخدام المستقل. يعمل مع @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)

استخدم koraPlugin() لدمج طرق Kora في عميل Kit موجود. يتطلب @solana/kit v5.4+ لنمط 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();

توفر الإضافة استجابات بنوع Kit (Address، Blockhash، Base64EncodedWireTransaction) وتصدّر نوع KoraPlugin للتركيب مع إضافات أخرى.

createKitKoraClient (عميل Kit)

استخدم createKitKoraClient() للتكامل الكامل مع Kit مع التخطيط التلقائي للمعاملات، وتقدير الرسوم، وحقن الدفع، والتنفيذ. هذا هو النهج الموصى به لمعظم التطبيقات. يتطلب @solana/kit v6.1+.

يدمج عميل Kit نظام Kora مع بنية الإضافات في Kit (المخطط، المنفذ، إضافات الدافع) بحيث يمكنك استخدام إضافات برامج Kit مثل 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();

خيارات التكوين:

الخيارمطلوبالوصف
endpointنعمعنوان URL لنقطة نهاية Kora RPC
rpcUrlنعمعنوان URL لـ Solana RPC لتقدير وحدة الحوسبة وتوافق إضافات البرامج
feeTokenنعمعنوان SPL mint لدفع الرسوم
feePayerWalletنعمTransactionSigner الذي يصرّح بدفع رسوم SPL
apiKeyلامفتاح API للمصادقة
hmacSecretلاسر HMAC للمصادقة القائمة على التوقيع
computeUnitLimitلاحد ثابت لوحدة الحوسبة (يستخدم التقدير القائم على المحاكاة إذا لم يتم تعيينه)
computeUnitPriceلارسوم الأولوية بالميكرولامبورت
tokenProgramIdلامعرّف Token Program (افتراضيًا Token Program؛ استخدم عنوان Token-2022 لرموز Token-2022)

البروتوكول

  • المعيار: JSON-RPC 2.0
  • النقل: HTTP POST
  • نوع المحتوى: application/json
  • نقطة النهاية: http://your-kora-instance/

الطرق المتاحة

الطريقةالوصف
estimateTransactionFeeتقدير رسوم المعاملة بكل من lamport والرمز المحدد.
getBlockhashالحصول على أحدث blockhash من Solana RPC المتصل به خادم Kora.
getConfigاسترجاع التكوين الحالي لخادم Kora.
getPayerSignerاسترجاع موقّع الدافع ووجهة الدفع من خادم Kora.
getPaymentInstructionإنشاء تعليمات الدفع لإلحاقها بمعاملة من أجل دفع الرسوم إلى مدير الدفع Kora.
getSupportedTokensاسترجاع قائمة الرموز المدعومة لدفع الرسوم.
signAndSendTransactionتوقيع معاملة وبثها فوراً إلى شبكة سولانا.
signTransactionتوقيع معاملة بواسطة دافع رسوم Kora إذا كانت المعاملة تتضمن الدفع الضروري لدافع الرسوم دون بثها.
transferTransactionإنشاء معاملة تحويل رموز مع Kora كدافع للرسوم.

صيغة الطلب

جميع الطلبات تتبع معيار JSON-RPC 2.0:

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

صيغة الاستجابة

الاستجابات الناجحة:

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

استجابات الخطأ:

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

Is this page helpful?

جدول المحتويات

تعديل الصفحة

تدار بواسطة

© 2026 مؤسسة سولانا.
جميع الحقوق محفوظة.
تواصل معنا