Verwenden Sie Kora v2.2.0-beta? Siehe die Beta-Dokumentation für neue Bundle-Methoden (
signBundle,signAndSendBundle,estimateBundleFee) undgetVersion.
TypeScript SDK
Das @solana/kora-Paket bietet drei Client-Optionen für die Interaktion mit
einem Kora-Server:
KoraClient (Eigenständig)
Verwenden Sie KoraClient für eigenständige Nutzung. Funktioniert mit
@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)
Verwenden Sie koraPlugin(), um Kora-Methoden in einen bestehenden Kit-Client
zu integrieren. Erfordert @solana/kit v5.4+ für das
createEmptyClient().use()-Muster.
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();
Das Plugin liefert Kit-typisierte Antworten (Address, Blockhash,
Base64EncodedWireTransaction) und exportiert den KoraPlugin-Typ zur
Komposition mit anderen Plugins.
createKitKoraClient (Kit Client)
Verwenden Sie createKitKoraClient() für vollständige Kit-Integration mit
automatischer Transaktionsplanung, Gebührenschätzung, Zahlungseinspeisung und
Ausführung. Dies ist der empfohlene Ansatz für die meisten Anwendungen.
Erfordert @solana/kit v6.1+.
Der Kit-Client kombiniert Kora mit Kits Plugin-Architektur (Planer-, Executor-,
Payer-Plugins), sodass Sie Kit-Programm-Plugins wie tokenProgram() direkt
verwenden können.
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();
Konfigurationsoptionen:
| Option | Erforderlich | Beschreibung |
|---|---|---|
endpoint | Ja | Kora RPC Endpunkt-URL |
rpcUrl | Ja | Solana RPC-URL für Compute Unit-Schätzung und Kompatibilität mit Programm-Plugins |
feeToken | Ja | SPL-Mint-Adresse für Gebührenzahlung |
feePayerWallet | Ja | TransactionSigner, der die SPL-Gebührenzahlung autorisiert |
apiKey | Nein | API-Schlüssel für Authentifizierung |
hmacSecret | Nein | HMAC-Secret für signaturbasierte Authentifizierung |
computeUnitLimit | Nein | Festes Compute Unit-Limit (verwendet simulationsbasierte Schätzung, falls nicht gesetzt) |
computeUnitPrice | Nein | priority fee in Mikro-Lamports |
tokenProgramId | Nein | Token Program ID (standardmäßig Token Program; verwenden Sie Token-2022-Adresse für Token-2022-Token) |
Protokoll
- Standard: JSON-RPC 2.0
- Transport: HTTP POST
- Content-Type: application/json
- Endpoint:
http://your-kora-instance/
Verfügbare Methoden
| Methode | Beschreibung |
|---|---|
| estimateTransactionFee | Schätzt die Transaktionsgebühr sowohl in Lamports als auch im angegebenen Token. |
| getBlockhash | Ruft den neuesten Blockhash vom Solana-RPC ab, mit dem der Kora-Server verbunden ist. |
| getConfig | Ruft die aktuelle Konfiguration des Kora-Servers ab. |
| getPayerSigner | Ruft den Zahler-Signer und das Zahlungsziel vom Kora-Server ab. |
| getPaymentInstruction | Erstellt eine Zahlungsanweisung, die einer Transaktion für die Gebührenzahlung an den Kora-Paymaster hinzugefügt werden kann. |
| getSupportedTokens | Ruft die Liste der für Gebührenzahlungen unterstützten Token ab. |
| signAndSendTransaction | Signiert eine Transaktion und sendet sie sofort an das Solana-Netzwerk. |
| signTransaction | Signiert eine Transaktion mit dem Kora-Fee-Zahler, sofern die Transaktion die erforderliche Zahlung an den Fee-Zahler enthält, ohne sie zu senden. |
| transferTransaction | Erstellt eine Token-Transfer-Transaktion mit Kora als Fee-Zahler. |
Anfrage-Format
Alle Anfragen folgen dem JSON-RPC 2.0-Standard:
{"jsonrpc": "2.0","id": 1,"method": "methodName","params": {}}
Antwort-Format
Erfolgreiche Antworten:
{"jsonrpc": "2.0","id": 1,"result": {}}
Fehlerantworten:
{"jsonrpc": "2.0","id": 1,"error": {"code": -32600,"message": "Invalid request"}}
Is this page helpful?