Tổng quan API JSON-RPC

Đang sử dụng Kora v2.2.0-beta? Xem Tài liệu Beta để biết các phương thức gói mới (signBundle, signAndSendBundle, estimateBundleFee) và getVersion.

SDK TypeScript

Gói @solana/kora cung cấp ba tùy chọn client để tương tác với máy chủ Kora:

KoraClient (Độc lập)

Sử dụng KoraClient để sử dụng độc lập. Hoạt động với @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 (Có thể kết hợp với Kit)

Sử dụng koraPlugin() để kết hợp các phương thức Kora vào client Kit hiện có. Yêu cầu @solana/kit v5.4+ cho mẫu 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 cung cấp các phản hồi kiểu Kit (Address, Blockhash, Base64EncodedWireTransaction) và xuất kiểu KoraPlugin để kết hợp với các plugin khác.

createKitKoraClient (Kit Client)

Sử dụng createKitKoraClient() để tích hợp đầy đủ với Kit có lập kế hoạch giao dịch tự động, ước tính phí, chèn thanh toán và thực thi. Đây là phương pháp được khuyến nghị cho hầu hết các ứng dụng. Yêu cầu @solana/kit v6.1+.

Kit client kết hợp Kora với kiến trúc plugin của Kit (planner, executor, payer plugins) để bạn có thể sử dụng trực tiếp các plugin chương trình Kit như 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();

Các tùy chọn cấu hình:

Tùy chọnBắt buộcMô tả
endpointURL điểm cuối Kora RPC
rpcUrlURL Solana RPC để ước tính đơn vị tính toán và khả năng tương thích plugin chương trình
feeTokenĐịa chỉ mint SPL để thanh toán phí
feePayerWalletTransactionSigner ủy quyền thanh toán phí SPL
apiKeyKhôngKhóa API để xác thực
hmacSecretKhôngKhóa bí mật HMAC để xác thực dựa trên chữ ký
computeUnitLimitKhôngGiới hạn đơn vị tính toán cố định (sử dụng ước tính dựa trên mô phỏng nếu không đặt)
computeUnitPriceKhôngPhí ưu tiên tính bằng micro-lamports
tokenProgramIdKhôngID Token program (mặc định là Token Program; sử dụng địa chỉ Token-2022 cho token Token-2022)

Giao thức

  • Tiêu chuẩn: JSON-RPC 2.0
  • Vận chuyển: HTTP POST
  • Content-Type: application/json
  • Điểm cuối: http://your-kora-instance/

Các phương thức khả dụng

Phương thứcMô tả
estimateTransactionFeeƯớc tính phí giao dịch theo cả lamport và token được chỉ định.
getBlockhashLấy blockhash mới nhất từ Solana RPC mà máy chủ Kora đang kết nối.
getConfigTruy xuất cấu hình hiện tại của máy chủ Kora.
getPayerSignerTruy xuất người ký trả phí và điểm đến thanh toán từ máy chủ Kora.
getPaymentInstructionTạo lệnh thanh toán để thêm vào giao dịch nhằm thanh toán phí cho paymaster Kora.
getSupportedTokensTruy xuất danh sách các token được hỗ trợ để thanh toán phí.
signAndSendTransactionKý giao dịch và ngay lập tức phát nó lên mạng Solana.
signTransactionKý giao dịch bằng người trả phí Kora nếu giao dịch bao gồm khoản thanh toán cần thiết cho người trả phí mà không phát nó.
transferTransactionTạo giao dịch chuyển token với Kora làm người trả phí.

Định dạng yêu cầu

Tất cả yêu cầu tuân theo tiêu chuẩn JSON-RPC 2.0:

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

Định dạng phản hồi

Phản hồi thành công:

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

Phản hồi lỗi:

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

Is this page helpful?

Mục lục

Chỉnh sửa trang

Quản lý bởi

© 2026 Solana Foundation.
Đã đăng ký bản quyền.
Kết nối