Vous cherchez la version bêta ? Consultez Installation Bêta pour les images Docker et
kora-cli@2.2.0-beta.7.
Commencez avec Kora en installant l'outil CLI pour exploiter un nœud Kora ou le SDK TypeScript pour les applications clientes interagissant avec un nœud Kora.
Configuration système requise
Pour l'interface CLI (Serveur)
- Rust : Version 1.86 ou supérieure (non requis pour Docker)
Pour le SDK TypeScript (Client)
- Node.js : Version LTS ou supérieure
- TypeScript : dernière version
Dépendances optionnelles
- Solana CLI : Utile pour la génération de clés et les tests
- Docker : Pour les déploiements conteneurisés
Interface CLI Kora
L'interface CLI Kora est le moyen principal d'exécuter et de gérer les nœuds Kora. Choisissez votre méthode d'installation préférée :
Option 1 : Installer depuis Cargo
Installez directement depuis crates.io en utilisant Cargo :
cargo install kora-cli
Option 2 : Compiler depuis les sources
Clonez et compilez la dernière version stable depuis les sources :
git clone https://github.com/solana-foundation/kora.gitcd koragit checkout v2.0.5just install
Remarque : La branche
mainde Kora est une branche d'intégration et peut contenir des modifications non publiées ou bêta. Toujours récupérer l'étiquette de la dernière version stable. Consultez la page des versions pour la dernière version stable.
Cela compilera et installera le binaire kora dans votre répertoire bin Cargo
local.
Option 3 : Docker
Téléchargez l'image Docker officielle depuis le registre de conteneurs GitHub :
docker pull ghcr.io/solana-foundation/kora:latest
Exécutez avec vos fichiers de configuration montés :
docker run -v $(pwd)/kora.toml:/app/kora.toml \-v $(pwd)/signers.toml:/app/signers.toml \-p 8080:8080 \ghcr.io/solana-foundation/kora:latest \rpc start --signers-config /app/signers.toml
Vérifier l'installation
Vérifiez que le CLI Kora est correctement installé :
kora --version
SDK TypeScript
Installez le SDK TypeScript Kora pour les applications clientes :
pnpm add @solana/kora
Dépendances paires
Kora nécessite @solana/kit et plusieurs packages de plugins Kit en tant que
dépendances paires. La plupart des gestionnaires de packages (pnpm v7+, npm v7+)
installent automatiquement les dépendances paires, donc généralement vous n'avez
besoin que de :
pnpm add @solana/kora @solana/kit
Si votre gestionnaire de packages n'installe pas automatiquement les dépendances paires, installez-les manuellement :
pnpm add @solana/kit @solana-program/token @solana-program/compute-budget \@solana/kit-plugin-instruction-plan @solana/kit-plugin-payer @solana/kit-plugin-rpc
Exigences de version
KoraClient(autonome) : Fonctionne avec@solana/kitv5.0+koraPlugin()(composable) : Nécessite@solana/kitv5.4+ pour le patterncreateEmptyClient().use()createKitKoraClient()(client Kit) : Nécessite@solana/kitv6.1+ pour la composition complète des plugins
Consultez l'Aperçu de l'API JSON-RPC pour des exemples détaillés d'utilisation du client.
Vérifier l'installation du SDK
Vérifiez votre installation du SDK avec un test de connexion simple :
import { KoraClient } from "@solana/kora";async function testConnection() {const client = new KoraClient({ rpcUrl: "http://localhost:8080" }); // Replace with your Kora server URLtry {const config = await client.getConfig();console.log("✅ Successfully connected to Kora server");} catch (error) {console.error("❌ Connection failed:", error.message);}}testConnection();
Dépannage
Problèmes avec le CLI
« kora: commande introuvable » : Assurez-vous que ~/.cargo/bin est dans
votre PATH :
echo 'export PATH="$HOME/.cargo/bin:$PATH"' >> ~/.bashrcsource ~/.bashrc
Échec de la compilation : Mettez à jour Rust vers la dernière version stable :
rustup update stable
Problèmes avec le SDK
Avertissements de dépendances homologues : Installez les dépendances Solana requises listées ci-dessus.
Erreurs TypeScript : Assurez-vous que votre version de TypeScript est 4.5+ et installez les définitions de types :
pnpm add -D @types/node
Connexion refusée : Assurez-vous que votre serveur Kora est en cours d'exécution et accessible à l'endpoint spécifié.
Is this page helpful?