Skip to content

KiiChain/kiichain

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Kiichain Logo

Project Status: Active GitHub release (latest by date) Go Report Card License: Apache-2.0 Lines of Code GitHub Super-Linter GoDoc

Discord

Twitter Follow

TikTok


KiiChain is a fast, scalable CometBFT-based, EVM-compatible blockchain that serves as the first on-chain FX settlement layer for stablecoins and real-world assets, powering the future of finance in emerging markets.

Features

  • 100% EVM Compatible - Leverage all EVM infrastructure and build with Solidity
  • High Performance - Up to 12,000 TPS with ~1 second block times
  • Interoperable - Connect with 100+ blockchain ecosystems
  • Custom Modules - Oracle, Gas Abstraction, Utility Rewards, Token Factory, and more.

Quick Links

Oro Testnet

Documentation & Resources

Hardware Requirements

Minimum:

  • 8 GB RAM
  • 1 TB NVMe SSD
  • 4 Cores (modern CPUs)

Recommended

  • 16 GB RAM
  • 2 TB NVME SSD
  • 8 Cores (modern CPU's)

Operating System

Linux (x86_64) or Linux (amd64) Recommended: Arch Linux or Ubuntu

Dependencies

Prerequisite: Go 1.23.8+ required

Install/Upgrade Go:

Verify Go version:

go version  # Should show 1.23.8 or higher

Configure Go PATH (important!):

# Add Go bin to PATH (required for kiichaind to be found)
echo 'export PATH="$HOME/go/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc  # or restart terminal

Prerequisite: git

  • Arch Linux: pacman -S git
  • Ubuntu: sudo apt-get install git

Optional: GNU make

  • Arch Linux: pacman -S make
  • Ubuntu: sudo apt-get install make

Getting Started

Running a Node

Follow the official Step-by-Step Guide for joining Testnet Oro:

# Variables for Testnet Oro configuration
PERSISTENT_PEERS="5b6aa55124c0fd28e47d7da091a69973964a9fe1@uno.sentry.testnet.v3.kiivalidator.com:26656,5e6b283c8879e8d1b0866bda20949f9886aff967@dos.sentry.testnet.v3.kiivalidator.com:26656"
CHAIN_ID="oro_1336-1"
NODE_HOME=~/.kiichain
NODE_MONIKER=testnet_oro
GENESIS_URL=https://raw.githubusercontent.com/KiiChain/testnets/refs/heads/main/testnet_oro/genesis.json
MINIMUM_GAS_PRICES="1000000000akii"

# Initialize the chain
kiichaind init $NODE_MONIKER --chain-id $CHAIN_ID --home $NODE_HOME

# Configure persistent peers
sed -i.bak "s/^persistent_peers = \"\"/persistent_peers = \"$PERSISTENT_PEERS\"/" $NODE_HOME/config/config.toml

# Set minimum gas prices
sed -i.bak -e "/minimum-gas-prices =/ s^= .*^= \"$MINIMUM_GAS_PRICES\"^" "$NODE_HOME/config/app.toml"
# Download official genesis file
curl -L $GENESIS_URL -o genesis.json
mv genesis.json $NODE_HOME/config/genesis.json

# Verify genesis file (optional but recommended)
sha256sum $NODE_HOME/config/genesis.json
# Expected: 2805ae1752dc8c3435afd6bdceea929b3bbd2883606f3f3589f4d62c99156d2d

# Start the node
kiichaind start --home $NODE_HOME

πŸ“ Configuration Files Overview:

  • ~/.kiichain/config/app.toml - Application configuration (gas prices, API settings)
  • ~/.kiichain/config/config.toml - Node configuration (P2P, RPC, indexing)
  • ~/.kiichain/config/genesis.json - Genesis state (created during init)

πŸ”§ For production validator setup:

# Create validator and user accounts
kiichaind keys add validator --keyring-backend test
kiichaind keys add user --keyring-backend test

# Add genesis accounts (for local testing)
kiichaind genesis add-genesis-account $(kiichaind keys show validator -a --keyring-backend test) 100000000000000000000akii
kiichaind genesis add-genesis-account $(kiichaind keys show user -a --keyring-backend test) 100000000000000000000akii

# Create genesis transaction
kiichaind genesis gentx validator 1000000000000000000akii --keyring-backend test --chain-id localchain_1010-1

# Collect genesis transactions
kiichaind genesis collect-gentxs

# Validate genesis file
kiichaind genesis validate-genesis

Quick-Start Guide for Developers

Get up and running with KiiChain in minutes. This guide covers the essentials for setting up a development environment.

Prerequisites

  • Go: Version 1.23.6+ (Install Guide)
  • Git: For cloning the repository
  • GNU Make: Recommended (required for the make install path below) Check your setup:
go version  # Should show 1.23.6+
git --version

Setup Steps

  1. Clone the repository
git clone https://github.com/KiiChain/kiichain.git
cd kiichain
  1. Build (or install)

Using GNU Make (recommended, requires GNU Make):

make build    # Builds the kiichaind binary (often at ./build/kiichaind)

If your Makefile includes an 'install' target:

make install  # Installs kiichaind into your GOPATH/bin (or as defined by the Makefile)
  • Or without GNU Make (Go-only):
# Respect GOBIN if set; otherwise fall back to GOPATH/bin
go build -o "${GOBIN:-$(go env GOPATH)/bin}/kiichaind" ./cmd/kiichaind
  1. Verify installation Add Go bin to PATH (temporary) and verify
export PATH="$HOME/go/bin:$PATH"
which kiichaind  # Should print a path if the binary is in PATH
kiichaind version  # Should print the binary version
  1. Persist PATH to your shell profile
# Persist for future shells:
echo 'export PATH="$HOME/go/bin:$PATH"' >> ~/.zshrc  # or ~/.bashrc
source ~/.zshrc  # or source ~/.bashrc

Troubleshooting (quick)

  • "Minimum Go version 1.23 required" β†’ Upgrade to Go 1.23.6+
  • "command not found: kiichaind" β†’ Ensure $HOME/go/bin is in PATH (see above)
  • Gas price error β†’ Set minimum gas prices in app.toml:
sed -i.bak -e '/minimum-gas-prices =/ s^= .*^= "1000000000akii"^' ~/.kiichain/config/app.toml
  • macOS curl alternative: If wget is unavailable, use curl -L <URL> -o filename to download files.

For detailed setup instructions, visit our documentation.

Troubleshooting

Common Issues:

  • "Minimum Go version 1.23 is required" - Upgrade your Go installation to 1.23.6+
  • "unknown directive: toolchain" - Your Go version is too old, upgrade to 1.23.6+
  • "invalid go version" - Ensure you have Go 1.23.6+ installed and in your PATH
  • "command not found: kiichaind" - Add $HOME/go/bin to your PATH (see setup above)
  • "set min gas price in app.toml" - Use 1000000000akii as shown in the setup above
  • "Wrong Block.Header.AppHash" - Ensure you downloaded the correct genesis file for oro_1336-1
  • "failed to find any peers" - Check that persistent peers are correctly configured

Check your setup:

go version                          # Should show 1.23.6+
echo $PATH | grep go                # Should include go/bin
which kiichaind                     # Should show path after 'make install'
kiichaind version                   # Should show version like v3.0.0-5-g239012d

Quick fixes:

export PATH="$HOME/go/bin:$PATH"                                                                              # Fix PATH issues (current session)
sed -i.bak -e "/minimum-gas-prices =/ s^= .*^= \"1000000000akii\"^" ~/.kiichain/config/app.toml

Contributing

All contributions are very welcome! Remember, contribution is not only PRs and code, but any help with docs or helping other developers solve their issues are very appreciated!

Read below to learn how you can take part in KiiChain:

Code of Conduct

Please be sure to read and follow our Code of Conduct. By participating, you are expected to uphold this code.

Issues, Questions and Discussions

We use GitHub Issues for tracking requests and bugs, and for general questions and discussion.

Community

Join our vibrant community and stay connected:

  • Discord - Chat with developers and community

License

The KiiChain is licensed under Apache License 2.0.


Building the future of finance for emerging markets 🌎