Επισκόπηση JSON-RPC API

Χρησιμοποιείτε το Kora v2.2.0-beta; Δείτε την τεκμηρίωση Beta για νέες μεθόδους δέσμης (signBundle, signAndSendBundle, estimateBundleFee) και getVersion.

TypeScript SDK

Το πακέτο @solana/kora παρέχει τρεις επιλογές client για αλληλεπίδραση με έναν διακομιστή 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 Composable)

Χρησιμοποιήστε το koraPlugin() για να συνθέσετε μεθόδους Kora σε έναν υπάρχοντα Kit client. Απαιτεί @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();

Το plugin παρέχει απαντήσεις με τύπους Kit (Address, Blockhash, Base64EncodedWireTransaction) και εξάγει τον τύπο KoraPlugin για σύνθεση με άλλα plugins.

createKitKoraClient (Kit Client)

Χρησιμοποιήστε το createKitKoraClient() για πλήρη ενσωμάτωση Kit με αυτόματο σχεδιασμό συναλλαγών, εκτίμηση χρεώσεων, ένεση πληρωμής και εκτέλεση. Αυτή είναι η προτεινόμενη προσέγγιση για τις περισσότερες εφαρμογές. Απαιτεί @solana/kit v6.1+.

Ο Kit client συνθέτει το Kora με την αρχιτεκτονική plugin του Kit (planner, executor, payer plugins) ώστε να μπορείτε να χρησιμοποιήσετε Kit program plugins όπως το 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 για εκτίμηση μονάδων υπολογισμού και συμβατότητα program plugin
feeTokenΝαιΔιεύθυνση SPL mint για πληρωμή χρεώσεων
feePayerWalletΝαιTransactionSigner που εξουσιοδοτεί την πληρωμή χρέωσης SPL
apiKeyΌχιΚλειδί API για έλεγχο ταυτότητας
hmacSecretΌχιHMAC secret για έλεγχο ταυτότητας βάσει υπογραφής
computeUnitLimitΌχιΣταθερό όριο μονάδων υπολογισμού (χρησιμοποιεί εκτίμηση βάσει προσομοίωσης αν δεν οριστεί)
computeUnitPriceΌχιΧρέωση προτεραιότητας σε micro-lamports
tokenProgramIdΌχιID Token program (προεπιλογή Token Program· χρησιμοποιήστε διεύθυνση Token-2022 για tokens Token-2022)

Πρωτόκολλο

  • Πρότυπο: JSON-RPC 2.0
  • Μεταφορά: HTTP POST
  • Content-Type: application/json
  • Τελικό σημείο: http://your-kora-instance/

Διαθέσιμες Μέθοδοι

ΜέθοδοςΠεριγραφή
estimateTransactionFeeΥπολογίζει το κόστος συναλλαγής τόσο σε lamports όσο και στο καθορισμένο token.
getBlockhashΑνακτά το πιο πρόσφατο blockhash από το Solana RPC στο οποίο είναι συνδεδεμένος ο διακομιστής Kora.
getConfigΑνακτά την τρέχουσα διαμόρφωση του διακομιστή Kora.
getPayerSignerΑνακτά τον υπογράφοντα πληρωτή και τον προορισμό πληρωμής από τον διακομιστή Kora.
getPaymentInstructionΔημιουργεί μια εντολή πληρωμής για προσάρτηση σε μια συναλλαγή για την πληρωμή του κόστους στον paymaster του Kora.
getSupportedTokensΑνακτά τη λίστα των tokens που υποστηρίζονται για πληρωμή κόστους.
signAndSendTransactionΥπογράφει μια συναλλαγή και την αποστέλλει αμέσως στο δίκτυο Solana.
signTransactionΥπογράφει μια συναλλαγή με τον fee payer του Kora εάν η συναλλαγή περιλαμβάνει την απαραίτητη πληρωμή στον fee payer χωρίς να την αποστείλει.
transferTransactionΔημιουργεί μια συναλλαγή μεταφοράς token με το Kora ως fee payer.

Μορφή Αιτήματος

Όλα τα αιτήματα ακολουθούν το πρότυπο 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 Ίδρυμα Solana.
Με επιφύλαξη παντός δικαιώματος.
Συνδεθείτε