Kora è la tua infrastruttura di firma Solana. Abilita transazioni senza gas dove gli utenti pagano le commissioni in qualsiasi token—USDC, BONK o il token nativo della tua app—oppure gestisci qualsiasi firma di transazione che richiede un firmatario affidabile.
Perché Kora?
- UX migliore: Gli utenti non hanno mai bisogno di SOL
- Controllo dei ricavi: Raccogli commissioni in USDC, nel tuo token o in qualsiasi altra cosa
- Pronto per la produzione: Validazione sicura, limitazione della velocità, monitoraggio integrato
- Integrazione semplice: API JSON-RPC + SDK TypeScript
- Distribuzione flessibile: Railway, Docker o qualsiasi piattaforma cloud
Architettura
- Linguaggio: Rust con SDK TypeScript
- Protocollo: JSON-RPC 2.0
- Firmatari: Chiave privata Solana, Turnkey, Privy
- Autenticazione: Chiave API, HMAC o nessuna
- Distribuzione: Opzioni di distribuzione flessibili (Docker, Railway, ecc.)
Funzionalità
- Regole di validazione e allowlist configurabili
- Supporto completo Token-2022 con filtraggio delle estensioni
- Caching Redis per prestazioni migliorate
- Limitazione della velocità e protezione della spesa
- Gestione sicura delle chiavi (Turnkey, Privy, Vault)
- Autenticazione HMAC e chiave API
- Metriche Prometheus e monitoraggio
- Politiche avanzate di protezione del pagatore delle commissioni
Avvio rapido
Installa Kora:
cargo install kora-cli
Utilizzo di base:
kora rpc [OPTIONS] # --help for full list of options
→ Guida all'avvio rapido - Metti in funzione Kora localmente in pochi minuti
→ Guida per operatori di nodi - Esegui un paymaster
SDK TypeScript
Kora fornisce un'interfaccia JSON-RPC semplice con tre opzioni client:
// Option 1: Standalone clientimport { KoraClient } from "@solana/kora";const kora = new KoraClient({ rpcUrl: "http://localhost:8080" });const signed = await kora.signTransaction({ transaction });// Option 2: Kit client (recommended) — handles planning, fees, signing, and sendingimport { createKitKoraClient } from "@solana/kora";import { address } from "@solana/kit";const client = await createKitKoraClient({endpoint: "http://localhost:8080",rpcUrl: "https://api.mainnet-beta.solana.com",feeToken: address("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"),feePayerWallet: userSigner});
→ Riferimento API - Metodi JSON-RPC e SDK TypeScript
Sviluppo locale
Prerequisiti
- Rust 1.86+ oppure
- Solana CLI 2.2+
- Node.js 20+ e pnpm (per l'SDK)
Installazione
git clone https://github.com/solana-foundation/kora.gitcd koragit checkout v2.0.5just install
Build
just build
Esecuzione del Server
Utilizzo base:
kora rpc [OPTIONS]
Oppure per l'esecuzione con una configurazione di test, eseguire:
just run
Test Locali
Ed eseguire tutti i test:
just test-all
Community e Supporto
- Domande? Chiedi su
Solana Stack Exchange (utilizza il tag
kora) - Problemi? Segnala su GitHub Issues
Altre Risorse
- Kora CLI Crates.io - Crate Rust per eseguire un nodo Kora
- @solana/kora NPM Package - SDK TypeScript per interagire con un nodo Kora
Sorgente
Sviluppato e mantenuto dalla Solana Foundation.
Licenziato sotto MIT. Vedi LICENSE per i dettagli.
Is this page helpful?