Stai usando Kora v2.2.0-beta? Consulta la documentazione Beta per i nuovi metodi bundle (
signBundle,signAndSendBundle,estimateBundleFee) egetVersion.
SDK TypeScript
Il pacchetto @solana/kora fornisce tre opzioni client per interagire con un
server Kora:
KoraClient (Autonomo)
Usa KoraClient per un utilizzo autonomo. Funziona con @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 (Componibile Kit)
Usa koraPlugin() per comporre i metodi Kora in un client Kit esistente.
Richiede @solana/kit v5.4+ per il pattern 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();
Il plugin fornisce risposte tipizzate Kit (Address, Blockhash,
Base64EncodedWireTransaction) ed esporta il tipo KoraPlugin per la
composizione con altri plugin.
createKitKoraClient (Client Kit)
Usa createKitKoraClient() per un'integrazione completa con Kit con
pianificazione automatica delle transazioni, stima delle commissioni, iniezione
del pagamento ed esecuzione. Questo è l'approccio consigliato per la maggior
parte delle applicazioni. Richiede @solana/kit v6.1+.
Il client Kit compone Kora con l'architettura plugin di Kit (planner, executor,
payer plugin) così puoi utilizzare direttamente i plugin di programma Kit come
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"), // USDCfeePayerWallet: userSigner // TransactionSigner that authorizes SPL fee payment});// Compose with Kit program pluginsconst tokenClient = client.use(tokenProgram());// Send transactions — Kora handles blockhash, fee estimation,// payment instruction injection, signing, and submissionawait tokenClient.token.instructions.transferToATA({/* ... */}).sendTransaction();
Opzioni di configurazione:
| Opzione | Obbligatoria | Descrizione |
|---|---|---|
endpoint | Sì | URL dell'endpoint RPC Kora |
rpcUrl | Sì | URL RPC Solana per la stima delle unità di calcolo e la compatibilità con i plugin di programma |
feeToken | Sì | Indirizzo mint SPL per il pagamento delle commissioni |
feePayerWallet | Sì | TransactionSigner che autorizza il pagamento delle commissioni SPL |
apiKey | No | Chiave API per l'autenticazione |
hmacSecret | No | Segreto HMAC per l'autenticazione basata su firma |
computeUnitLimit | No | Limite fisso di unità di calcolo (usa la stima basata su simulazione se non impostato) |
computeUnitPrice | No | Commissione prioritaria in micro-lamport |
tokenProgramId | No | ID del Token Program (predefinito Token Program; usa l'indirizzo Token-2022 per i token Token-2022) |
Protocollo
- Standard: JSON-RPC 2.0
- Trasporto: HTTP POST
- Content-Type: application/json
- Endpoint:
http://your-kora-instance/
Metodi Disponibili
| Metodo | Descrizione |
|---|---|
| estimateTransactionFee | Stima la commissione della transazione sia in lamport che nel token specificato. |
| getBlockhash | Ottiene l'ultimo blockhash dall'RPC Solana a cui il server Kora è connesso. |
| getConfig | Recupera la configurazione corrente del server Kora. |
| getPayerSigner | Recupera il firmatario pagante e la destinazione di pagamento dal server Kora. |
| getPaymentInstruction | Crea un'istruzione di pagamento da aggiungere a una transazione per il pagamento delle commissioni al paymaster Kora. |
| getSupportedTokens | Recupera l'elenco dei token supportati per il pagamento delle commissioni. |
| signAndSendTransaction | Firma una transazione e la trasmette immediatamente alla rete Solana. |
| signTransaction | Firma una transazione con il pagatore delle commissioni Kora se la transazione include il pagamento necessario al pagatore delle commissioni senza trasmetterla. |
| transferTransaction | Crea una transazione di trasferimento token con Kora come pagatore delle commissioni. |
Formato della Richiesta
Tutte le richieste seguono lo standard JSON-RPC 2.0:
{"jsonrpc": "2.0","id": 1,"method": "methodName","params": {}}
Formato della Risposta
Risposte di successo:
{"jsonrpc": "2.0","id": 1,"result": {}}
Risposte di errore:
{"jsonrpc": "2.0","id": 1,"error": {"code": -32600,"message": "Invalid request"}}
Is this page helpful?