Ενσωμάτωση Kit Client

Τελευταία Ενημέρωση: 2026-03-09

Τι Θα Δημιουργήσετε

Το Kit client (createKitKoraClient) είναι ο προτεινόμενος τρόπος ενσωμάτωσης του Kora σε εφαρμογές Solana. Ενσωματώνει την αφαίρεση τελών του Kora στην αρχιτεκτονική plugin του Kit, παρέχοντάς σας ένα client που χειρίζεται αυτόματα:

  • Διαχείριση blockhash
  • Εκτίμηση τελών και εισαγωγή οδηγιών πληρωμής
  • Υπογραφή συναλλαγών μέσω Kora
  • Υποβολή και επιβεβαίωση συναλλαγών
  • Βελτιστοποίηση compute budget (εκτίμηση CU βασισμένη σε προσομοίωση)

Αυτό σημαίνει ότι μπορείτε να χρησιμοποιήσετε plugins προγραμμάτων Kit όπως το tokenProgram() και να έχετε το Kora να χειρίζεται όλη την πολυπλοκότητα των τελών gas στο παρασκήνιο.

Προαπαιτούμενα

Εγκατάσταση

pnpm add @solana/kora @solana/kit

Οι εξαρτήσεις peer (@solana-program/token, @solana-program/compute-budget, @solana/kit-plugin-*) εγκαθίστανται αυτόματα από τους περισσότερους διαχειριστές πακέτων. Δείτε το Εγκατάσταση αν χρειάζεται να τις εγκαταστήσετε χειροκίνητα.

Δημιουργία του Client

Το createKitKoraClient συνθέτει πολλαπλά plugins Kit σε ένα μοναδικό client που ικανοποιεί τα ClientWithPayer, ClientWithTransactionPlanning και ClientWithTransactionSending.

import { createKitKoraClient } from "@solana/kora";
import { address } from "@solana/kit";
const client = await createKitKoraClient({
endpoint: "http://localhost:8080", // Kora RPC endpoint
rpcUrl: "http://127.0.0.1:8899", // Solana RPC for CU estimation
feeToken: address("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"), // USDC mint
feePayerWallet: userSigner // TransactionSigner for fee payment
});

Το feePayerWallet πρέπει να είναι ένα TransactionSigner — αυτό είναι το πορτοφόλι που εξουσιοδοτεί την πληρωμή τέλους token SPL στον χειριστή Kora. Ο χειριστής Kora διαχειρίζεται τα τέλη δικτύου SOL.

Επιλογές Διαμόρφωσης

ΕπιλογήΑπαιτείταιΠεριγραφή
endpointΝαιURL τελικού σημείου RPC Kora
rpcUrlΝαιURL Solana RPC (όχι το τελικό σημείο Kora) — χρησιμοποιείται για προσομοίωση compute unit και συμβατότητα plugin προγραμμάτων
feeTokenΝαιΔιεύθυνση mint SPL για πληρωμή τελών (π.χ., USDC)
feePayerWalletΝαιTransactionSigner που εξουσιοδοτεί την πληρωμή τέλους SPL
apiKeyΌχιΚλειδί API για έλεγχο ταυτότητας Kora
hmacSecretΌχιΜυστικό HMAC για έλεγχο ταυτότητας βασισμένο σε υπογραφή
computeUnitLimitΌχιΣταθερό όριο CU. Αν παραλειφθεί, το Kora προσομοιώνει τη συναλλαγή για εκτίμηση βέλτιστου CU (συνιστάται)
computeUnitPriceΌχιΤέλος προτεραιότητας σε micro-lamports
tokenProgramIdΌχιΠροεπιλογή στο Token Program. Ορίστε σε TOKEN_2022_PROGRAM_ADDRESS για tokens τελών Token-2022

Χρήση με Plugins Προγράμματος Kit

Ο πελάτης Kit είναι συνθέσιμος με plugins προγράμματος Kit. Για παράδειγμα, με το tokenProgram():

import { createKitKoraClient } from "@solana/kora";
import { tokenProgram } from "@solana-program/token";
import { address } from "@solana/kit";
const koraClient = await createKitKoraClient({
endpoint: "http://localhost:8080",
rpcUrl: "http://127.0.0.1:8899",
feeToken: address("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"),
feePayerWallet: userSigner
});
// Compose with the token program plugin
const client = koraClient.use(tokenProgram());
// Use token program methods — Kora handles all fee abstraction
await client.token.instructions
.transferToATA({
source: userTokenAccount,
destination: recipientAddress,
amount: 1_000_000n, // 1 USDC
authority: userSigner
})
.sendTransaction();

Στα παρασκήνια, ο πελάτης Kit:

  1. Σχεδιάζει τη συναλλαγή με ένα blockhash που διαχειρίζεται η Kora και οδηγίες προϋπολογισμού υπολογιστικής ισχύος
  2. Εκτιμά το κόστος και εισάγει (ή ενημερώνει) την οδηγία πληρωμής SPL προς τον χειριστή Kora
  3. Υπογράφει μερικώς τη συναλλαγή με το πορτοφόλι του χρήστη
  4. Αποστέλλει τη συναλλαγή στην Kora για συνυπογραφή και υποβολή στο Solana

Πρόσβαση στις Μεθόδους RPC της Kora

Ο πελάτης Kit εκθέτει επίσης το πλήρες Kora API μέσω του namespace .kora (από το koraPlugin):

// Get server configuration
const config = await client.kora.getConfig();
// Get supported fee tokens
const { tokens } = await client.kora.getSupportedTokens();
// Estimate fees for an arbitrary transaction
const estimate = await client.kora.estimateTransactionFee({
transaction: base64EncodedTx,
fee_token: "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"
});

Όλες οι απαντήσεις των μεθόδων .kora χρησιμοποιούν τιμές τύπου Kit (Address, Blockhash, Signature) αντί για ακατέργαστα strings.

Υποστήριξη Token-2022

Για να πληρώσετε τέλη με token Token-2022, περάστε την επιλογή tokenProgramId:

import { TOKEN_2022_PROGRAM_ADDRESS } from "@solana-program/token-2022";
const client = await createKitKoraClient({
endpoint: "http://localhost:8080",
rpcUrl: "http://127.0.0.1:8899",
feeToken: address("your-token-2022-mint"),
feePayerWallet: userSigner,
tokenProgramId: TOKEN_2022_PROGRAM_ADDRESS
});

Προϋπολογισμός Υπολογιστικής Ισχύος

Από προεπιλογή, ο πελάτης Kit προσομοιώνει τη συναλλαγή έναντι του Solana RPC για να προσδιορίσει το βέλτιστο όριο μονάδων υπολογισμού. Αυτό έχει ως αποτέλεσμα πιο αυστηρή κατανομή CU και χαμηλότερα τέλη.

Για να το παρακάμψετε με σταθερή τιμή:

const client = await createKitKoraClient({
// ...
computeUnitLimit: 200_000,
computeUnitPrice: 1_000_000n // priority fee in micro-lamports
});

Πότε να Χρησιμοποιείτε τον Κάθε Πελάτη

ΠελάτηςΠερίπτωση Χρήσης
createKitKoraClientΣυνιστάται. Πλήρης ενσωμάτωση Kit με αυτόματο χειρισμό τελών. Ιδανικό για εφαρμογές που χρησιμοποιούν plugins προγράμματος Kit.
KoraClientΆμεση πρόσβαση RPC όταν χρειάζεστε πλήρη έλεγχο της κατασκευής, υπογραφής και υποβολής συναλλαγών.
koraPluginΠροσθήκη μεθόδων Kora σε έναν υπάρχοντα πελάτη Kit που έχετε ήδη συνθέσει με άλλα plugins.

Επόμενα Βήματα

Is this page helpful?

Διαχειρίζεται από

© 2026 Ίδρυμα Solana.
Με επιφύλαξη παντός δικαιώματος.
Συνδεθείτε