Qu'est-ce qu'un Opérateur de Nœud Kora ?
En tant qu'opérateur de nœud Kora, vous exploitez un service paymaster qui prend en charge les frais de transaction Solana pour vos utilisateurs. Votre nœud accepte les paiements en jetons SPL et utilise votre SOL pour payer les frais de réseau réels, permettant ainsi des transactions sans frais pour votre application.
Pourquoi Exploiter un Nœud Kora ?
- Meilleure UX : Vos utilisateurs effectuent des transactions sans avoir besoin de SOL (intégration simplifiée, meilleure rétention, etc.)
- Source de Revenus : Collectez des frais dans les jetons que votre entreprise préfère (USDC, BONK, etc.)
Sommaire
Démarrage Rapide
Vous souhaitez d'abord essayer localement ? Lancez un nœud Kora local en quelques minutes : → Guide de Démarrage Rapide Local
Concepts Fondamentaux
En tant qu'opérateur de nœud Kora, vous êtes responsable de l'exploitation d'un service paymaster sécurisé qui permet des transactions sans frais pour vos utilisateurs. Votre nœud a quatre responsabilités clés :
1. Valider les Transactions
Configurez votre nœud pour accepter uniquement les transactions qui répondent
aux exigences de votre entreprise via kora.toml :
- Listes autorisées de jetons : Définissez quels jetons SPL vous acceptez comme paiement (prend en charge SPL et Token-2022)
- Listes autorisées de programmes : Mettez sur liste blanche les programmes Solana avec lesquels les utilisateurs peuvent interagir
- Limites de transaction : Définissez les frais maximums que vous êtes prêt à payer et les limites de signature
- Listes de blocage de comptes : Empêchez les interactions avec des adresses problématiques
- Oracles de tarification : Configurez Jupiter ou une tarification simulée pour les calculs de frais
- Jetons de paiement : Spécifiez les types de jetons que vous accepterez comme paiement
- Politiques de payeur de frais : Contrôlez les opérations que votre payeur de frais peut effectuer (transferts, destructions, approbations, etc.)
- Extensions Token-2022 : Bloquez des extensions Token-2022 spécifiques pour une sécurité renforcée
- Mise en cache : Activez la mise en cache Redis pour améliorer les performances en réduisant les appels RPC
- Limites d'utilisation : Définissez des limites de transaction par portefeuille pour prévenir les abus, garantir une utilisation équitable ou récompenser les utilisateurs avec des transactions subventionnées jusqu'à une certaine limite
→ Référence complète de configuration Kora.toml → Exemple de kora.toml
2. Signer les transactions
Votre nœud a besoin de paire(s) de clés Solana pour signer les transactions en tant que payeur de frais. Pour les déploiements en production, Kora prend en charge les configurations multi-signataires pour une fiabilité accrue et une distribution du verrouillage de compte. Envisagez de mettre en œuvre la rotation des clés, les contrôles d'accès, les sauvegardes et autres stratégies pour la sécurité des signataires. Options de signature disponibles :
- Clé privée locale : Stockez la clé privée directement dans l'environnement serveur (en tant que base58, fichier .json ou tableau u8)
- Turnkey : Gestion simplifiée des clés privées. Créez des portefeuilles, signez des transactions et automatisez les actions onchain.
- Privy : Infrastructure crypto facile. Créez en toute sécurité des portefeuilles whitelabel et signez des transactions.
- HashiCorp Vault : Gérez les secrets et protégez les données sensibles
→ Guide complet de configuration des signataires
3. Payer les frais de transaction
Maintenez suffisamment de SOL pour couvrir les frais de réseau pour votre volume de transactions attendu :
- Surveillance du solde : Suivez le solde SOL et configurez des alertes de solde faible (Kora fournit des métriques Prometheus intégrées - voir Surveillance)
- Automatisation : Mettez en place des procédures automatiques de recharge SOL pour les environnements de production
- Planification de capacité : Planifiez en fonction du cas d'usage prévu, du volume d'utilisateurs, etc.
Il est important que vous compreniez comment Kora estime les frais et comment configurer votre nœud pour maximiser vos revenus. Consultez le Guide d'estimation des frais pour plus de détails.
4. Surveiller les opérations
Suivez en continu les métriques de sécurité, de performance et commerciales de votre nœud :
- Surveillance de la sécurité : Schémas inhabituels, validations échouées et dépassements de limites de taux
- Alertes opérationnelles : Santé du système, avertissements de solde et événements de sécurité
- Suivi financier : Coûts SOL vs revenus en tokens, analyse de rentabilité
- Surveillance du solde des signataires : Suivez le solde des signataires et configurez des alertes de solde faible
Kora fournit un point de terminaison /metrics optionnel qui fournit des
données de performance en temps réel au format Prometheus.
→ Guide de référence de surveillance Kora
5. Optimiser les performances (facultatif)
Pour les déploiements à fort trafic, activez la mise en cache Redis pour réduire les appels RPC et améliorer les temps de réponse :
- Mise en cache des comptes : met en cache les données de compte Solana avec une durée de vie (TTL) configurable
- Basculement automatique : bascule en douceur vers des appels RPC directs si Redis n'est pas disponible
- Gestion du cache : expiration automatique et capacités de rafraîchissement forcé pour les opérations critiques
Interface en ligne de commande Kora
Le crate kora-cli est un binaire Rust prêt pour la production qui fournit tout ce dont vous avez besoin pour exécuter un nœud paymaster Kora. Il est distribué sous forme d'exécutable autonome que vous pouvez installer globalement ou déployer dans des conteneurs.
Options d'installation
Installation globale (recommandée pour le développement)
cargo install kora-cli
Ou compiler à partir des sources (recommandé pour contribuer)
git clone https://github.com/solana-foundation/kora.gitcd korajust install
Utilisation de base
Le serveur RPC Kora expose un point de terminaison JSON-RPC (par défaut :
http://localhost:8080). Lancez-le avec la commande kora rpc :
# Run with specified kora.toml and signers.tomlkora --config path/to/kora.toml rpc start --signers-config path/to/signers.toml# Helpkora rpc --help
Pour plus d'informations sur l'utilisation de l'interface en ligne de commande Kora, consultez le Guide CLI.
Les applications peuvent accéder au serveur RPC Kora via le SDK TypeScript Kora
Configuration
Chaque nœud RPC Kora doit être configuré avec au minimum :
- un point de terminaison RPC Solana (spécifié via le paramètre
--rpc-urlou la variable d'environnementRPC_URL) [par défaut : http://127.0.0.1:8899] - la configuration du ou des signataires Solana (spécifiée via le paramètre
--signers-config signers.toml) - un fichier de configuration,
kora.toml(spécifié via le paramètre--config path/to/kora.toml)
kora.toml
Avant le déploiement, vous devrez créer et configurer un fichier kora.toml
pour spécifier :
- La limitation de débit et l'authentification
- L'adresse de destination du paiement
- La disponibilité des méthodes RPC
- Les règles de validation des transactions
- Les politiques de sécurité (liste blanche ou liste noire des jetons SPL, des programmes, des comptes, des Token Extensions, etc.)
- Les modèles de tarification des frais
- Les politiques améliorées du payeur de frais (protection contre les comportements indésirables des signataires)
- La collecte de métriques
- La configuration de mise en cache Redis (facultatif)
signers.toml
Vous devrez également créer un fichier signers.toml pour spécifier :
- Le(s) signataire(s) pour votre nœud
- La stratégie de sélection des signataires
- La configuration de chaque signataire et les clés applicables
Déploiement
Déploiement local
Démarrez et testez un serveur Kora local en quelques minutes : Guide de démarrage rapide
Docker
Utilisez l'exemple de Dockerfile pour déployer sur n'importe quelle plateforme de conteneurs. Le fichier docker-compose.yml inclut Redis pour la prise en charge de la mise en cache :
→ Exemple de Dockerfile → Docker Compose avec Redis
Guides spécifiques aux plateformes
D'autres guides d'intégration arrivent bientôt
Besoin d'aide ?
- Solana Stack Exchange - Posez des
questions/partagez vos connaissances (assurez-vous d'utiliser la balise
kora) - GitHub Issues - Signalez des bugs ou obtenez de l'aide
- Exécutez
kora rpc --helppour voir tous les indicateurs et options de configuration disponibles
Is this page helpful?