Installation

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

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 version from source:

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

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 certain Solana dependencies:

pnpm add @solana/kit @solana-program/token

Version Requirements

  • KoraClient (standalone): Works with @solana/kit v5.0+
  • koraPlugin() (composable): Requires @solana/kit v5.4+ for the createEmptyClient().use() pattern

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('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.