Installation

Install the Kora CLI, TypeScript SDK, and set up your development environment

Looking for the beta? See Beta Installation for Docker images and kora-cli@2.2.0-beta.6.

Installation

Get started with Kora by installing the CLI tool for operating a Kora node or the TypeScript SDK for client applications interacting with a Kora node.

System Requirements

For CLI (Server)

  • Rust: Version 1.86 or higher (not required for Docker)

For TypeScript SDK (Client)

Optional Dependencies

  • Solana CLI: Helpful for key generation and testing
  • Docker: For containerized deployments

Kora CLI

The Kora CLI is the primary way to run and manage Kora nodes. Choose your preferred installation method:

Option 1: Install from Cargo

Install directly from crates.io using Cargo:

cargo install kora-cli

Option 2: Build from Source

Clone and build the latest stable version from source:

git clone https://github.com/solana-foundation/kora.git
cd kora
git checkout v2.0.5
just install

Note: Kora's main branch is an integration branch and may contain unreleased or beta changes. Always checkout the latest stable release tag. See the releases page for the latest stable version.

This will build and install the kora binary to your local Cargo bin directory.

Option 3: Docker

Pull the official Docker image from GitHub Container Registry:

docker pull ghcr.io/solana-foundation/kora:latest

Run with your configuration files mounted:

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

Verify Installation

Verify the Kora CLI is installed correctly:

kora --version

TypeScript SDK

Install the Kora TypeScript SDK for client applications:

pnpm add @solana/kora

Peer Dependencies

Kora requires @solana/kit and several Kit plugin packages as peer dependencies. Most package managers (pnpm v7+, npm v7+) auto-install peer dependencies, so typically you only need:

pnpm add @solana/kora @solana/kit

If your package manager doesn't auto-install peers, install them manually:

pnpm add @solana/kit @solana-program/token @solana-program/compute-budget \
  @solana/kit-plugin-instruction-plan @solana/kit-plugin-payer @solana/kit-plugin-rpc

Version Requirements

  • KoraClient (standalone): Works with @solana/kit v5.0+
  • koraPlugin() (composable): Requires @solana/kit v5.4+ for the createEmptyClient().use() pattern
  • createKitKoraClient() (Kit client): Requires @solana/kit v6.1+ for full plugin composition

See the JSON-RPC API Overview for detailed client usage examples.

Verify SDK Installation

Verify your SDK installation with a simple connection test:

import { KoraClient } from '@solana/kora';

async function testConnection() {
  const client = new KoraClient({ rpcUrl: 'http://localhost:8080' }); // Replace with your Kora server URL
  
  try {
    const config = await client.getConfig();
    console.log('✅ Successfully connected to Kora server');
  } catch (error) {
    console.error('❌ Connection failed:', error.message);
  }
}

testConnection();

Troubleshooting

CLI Issues

"kora: command not found": Ensure ~/.cargo/bin is in your PATH:

echo 'export PATH="$HOME/.cargo/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

Build fails: Update Rust to the latest stable version:

rustup update stable

SDK Issues

Peer dependency warnings: Install the required Solana dependencies listed above.

TypeScript errors: Ensure your TypeScript version is 4.5+ and install type definitions:

pnpm add -D @types/node

Connection refused: Ensure your Kora server is running and accessible at the specified endpoint.