Qu'est-ce que Kora ?
Kora est une couche d'abstraction des frais pour Solana qui permet aux utilisateurs de payer les frais de transaction avec des jetons SPL au lieu de SOL (ou d'éviter complètement les frais de transaction). C'est un serveur JSON-RPC qui agit comme un payeur, prenant en charge les frais de transaction du réseau Solana tout en acceptant le paiement dans les jetons pris en charge par votre application.
Le Problème : Les utilisateurs ont besoin de SOL pour payer les frais de transaction sur Solana, ce qui crée des frictions pour les applications où les utilisateurs détiennent principalement d'autres jetons (par exemple, un portefeuille de paiement qui n'utilise que l'USDC ou un jeu qui ne traite qu'en BONK, etc.).
La Solution : Les opérateurs de nœuds Kora acceptent les paiements de frais en jetons SPL, vérifient et signent les transactions, et paient les frais de réseau avec leur propre SOL — créant une expérience sans frais pour les utilisateurs.
Exemples de cas d'usage
- Néobanques : Permettre aux utilisateurs d'envoyer de l'USDC sans avoir besoin de SOL pour les frais
- Jeux : Les joueurs dépensent des jetons en jeu pour toutes les transactions
- Staking liquide : Permettre aux utilisateurs de votre dApp de détenir/utiliser vos jetons de staking liquide plutôt que du SOL natif
- Récompenses de fidélité : Récompenser les utilisateurs avec un certain nombre de frais subventionnés en fonction de leur niveau de fidélité
Fonctionnalités clés
- Sécurisé : Règles de validation configurables pour les programmes, jetons et comptes
- Tarification flexible : Prise en charge de plusieurs jetons de paiement de frais avec tarification en temps réel
- Déploiement facile : Crate CLI Kora prêt à déployer
- Convivial pour les développeurs : API JSON-RPC avec CLI et SDK TypeScript pour une interaction transparente avec Solana Kit
- Prêt pour la production : Limitation de débit, surveillance et fonctionnalités de sécurité intégrées
Comment ça fonctionne
Les nœuds Kora fonctionnent comme un middleware entre votre application et Solana. Toutes les transactions sur Solana nécessitent qu'un payeur de frais signe la transaction et couvre les frais de transaction du réseau en SOL. De plus, les transactions peuvent nécessiter des signatures d'autres portefeuilles selon la logique du programme (par exemple, les transferts de jetons nécessitent la signature du propriétaire du jeton).
Kora inspecte les transactions Solana avant leur envoi au réseau, s'assure qu'elles répondent aux exigences de sécurité configurées du nœud et vérifie que la transaction inclut une instruction de paiement en jetons SPL adéquate destinée à l'opérateur du nœud. Une fois vérifiée, Kora cosigne la transaction en tant que payeur de frais et renvoie la transaction entièrement signée à l'application pour soumission au réseau.
Flux de transaction Kora
- L'utilisateur initie une transaction
- L'application construit une transaction (avec une instruction de paiement en jetons vers l'opérateur du nœud Kora)
- L'utilisateur signe la transaction
- L'application envoie la transaction signée à un opérateur de nœud Kora
- Kora valide la transaction selon les règles configurées (programmes autorisés, jetons, etc.) et vérifie que le paiement est suffisant pour couvrir les frais de réseau (en fonction des prix actuels du marché via un Oracle)
- Kora signe la transaction validée en tant que payeur de frais et la renvoie à l'application
- L'application envoie la transaction signée par Kora à Solana pour traitement
- Solana traite la transaction : les jetons SPL sont transférés à l'opérateur du nœud, les frais SOL sont payés par Kora, et la transaction de l'utilisateur est traitée
- L'application confirme que la transaction a été finalisée avec succès et notifie l'utilisateur
L'utilisateur finalise avec succès sa transaction en utilisant uniquement des jetons SPL, tandis que Kora a pris en charge tous les frais de réseau libellés en SOL.
Flux de transaction Kora
Terminologie clé
- Payeur de frais : Le compte signataire d'une transaction Solana qui couvre les coûts de réseau associés au traitement de la transaction sur la chaîne.
- Gas (ou frais de gas) : Coûts associés à l'envoi et à la finalisation de transactions sur Solana (payés en SOL).
- Relais sans gas : Un service qui facilite les transactions blockchain au nom des utilisateurs sans leur demander de payer directement les frais de gas (Kora est un relais sans gas).
- JSON-RPC : Un protocole d'appel de procédure distante (RPC) sans état et léger qui utilise JSON (JavaScript Object Notation) pour la sérialisation des données. Il permet la communication entre un client et un serveur en permettant au client d'invoquer des méthodes sur le serveur comme s'il s'agissait de fonctions locales.
- Oracle : Un service qui fournit des données de prix en temps réel pour les jetons.
- Paymaster : Un service ou compte qui paie les frais de transaction au nom des utilisateurs, généralement en échange d'un paiement en jetons ou devises alternatifs (les opérateurs de nœuds Kora sont des paymasters).
- Rent : Un dépôt requis par Solana pour maintenir les comptes actifs sur la blockchain. Le rent peut être récupéré lorsque les comptes sont fermés.
Commencer
Choisissez votre parcours :
Je veux essayer Kora rapidement
Lancez un serveur Kora local et voyez l'abstraction des frais en action en moins de 10 minutes.
Je veux exécuter un nœud Kora
→ Ressources pour les opérateurs de nœuds
Configurez et déployez votre propre serveur Kora pour parrainer les transactions de votre application.
Je veux utiliser Kora dans mon application
Ajoutez l'abstraction des frais à votre application Solana en utilisant le SDK
Kora. L'approche recommandée consiste à utiliser createKitKoraClient(), qui
s'intègre à l'architecture de plugins de Kit et gère automatiquement la
planification des transactions, l'estimation des frais, l'injection de paiement
et la soumission.
→ Guide du client Kit - Créez des transactions sans frais avec le client Kit
Pour un contrôle de plus bas niveau, consultez le guide
Flux de transaction complet utilisant
directement KoraClient, ou la
Référence de l'API pour toutes les options
client disponibles.
Besoin d'aide ?
- Solana Stack Exchange - Posez vos
questions avec le tag
kora - GitHub Issues - Signalez des bugs ou demandez de nouvelles fonctionnalités
Is this page helpful?