Kora est votre infrastructure de signature Solana. Activez les transactions sans frais où les utilisateurs paient les frais dans n'importe quel jeton—USDC, BONK, ou le jeton natif de votre application—ou gérez toute signature de transaction nécessitant un signataire de confiance.
Pourquoi Kora ?
- Meilleure UX : Les utilisateurs n'ont jamais besoin de SOL
- Contrôle des revenus : Collectez les frais en USDC, votre jeton, ou autre chose
- Prêt pour la production : Validation sécurisée, limitation de débit, surveillance intégrée
- Intégration facile : API JSON-RPC + SDK TypeScript
- Déploiement flexible : Railway, Docker, ou toute plateforme cloud
Architecture
- Langage : Rust avec SDK TypeScript
- Protocole : JSON-RPC 2.0
- Signataires : Clé privée Solana, Turnkey, Privy
- Authentification : Clé API, HMAC, ou aucune
- Déploiement : Options de déploiement flexibles (Docker, Railway, etc.)
Fonctionnalités
- Règles de validation et listes blanches configurables
- Prise en charge complète de Token-2022 avec filtrage d'extensions
- Mise en cache Redis pour des performances améliorées
- Limitation de débit et protection des dépenses
- Gestion sécurisée des clés (Turnkey, Privy, Vault)
- Authentification HMAC et par clé API
- Métriques et surveillance Prometheus
- Politiques de protection renforcées du payeur de frais
Démarrage rapide
Installez Kora :
cargo install kora-cli
Utilisation de base :
kora rpc [OPTIONS] # --help for full list of options
→ Guide de démarrage rapide - Lancez Kora localement en quelques minutes
→ Guide de l'opérateur de nœud - Exécutez un paymaster
SDK TypeScript
Kora fournit une interface JSON-RPC simple avec trois options de 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});
→ Référence API - Méthodes JSON-RPC et SDK TypeScript
Développement local
Prérequis
- Rust 1.86+ ou
- Solana CLI 2.2+
- Node.js 20+ et pnpm (pour le SDK)
Installation
git clone https://github.com/solana-foundation/kora.gitcd koragit checkout v2.0.5just install
Compilation
just build
Exécution du serveur
Utilisation de base :
kora rpc [OPTIONS]
Ou pour exécuter avec une configuration de test, lancez :
just run
Tests en local
Et exécutez tous les tests :
just test-all
Communauté et support
- Des questions ? Posez-les sur
Solana Stack Exchange (utilisez le tag
kora) - Des problèmes ? Signalez-les sur GitHub Issues
Autres ressources
- Kora CLI Crates.io - Crate Rust pour exécuter un nœud Kora
- @solana/kora NPM Package - SDK TypeScript pour interagir avec un nœud Kora
Source
Développé et maintenu par la Solana Foundation.
Sous licence MIT. Consultez le fichier LICENSE pour plus de détails.
Is this page helpful?