Kanari SDK
flowchart TB
%% Application Layer
subgraph APP ["Application Layer"]
direction LR
CLI["CLI Tools"]
Web["Web Explorer"]
RPC["RPC API"]
end
%% Framework Layer
subgraph FW ["Framework Layer"]
direction LR
Kanari["Kanari SDK"]
Std["Move Std Lib"]
Sys["System SDK"]
end
%% Core Layer with detailed connections
subgraph CORE ["Core Layer"]
direction TB
subgraph BC ["Blockchain"]
K2["K2 Core"]
TX["Transaction Mgmt"]
State["State Mgmt"]
K2 --> TX
K2 --> State
end
subgraph RT ["Runtime"]
VM["Move VM"]
Compiler["Move Compiler"]
VM --> Compiler
end
subgraph CON ["Consensus"]
PoW["PoW Engine"]
PoS["PoS Engine"]
end
BC <--> RT
BC <--> CON
end
%% Network Layer with P2P details
subgraph NET ["Network Layer"]
direction LR
P2P["P2P Network"]
RPCNet["RPC Network"]
P2P <--> RPCNet
end
%% Storage Layer with connections
subgraph STORE ["Storage Layer"]
direction LR
Wallet["Wallet Store"]
File["File Store"]
DB["State DB"]
Wallet --> DB
File --> DB
end
%% Inter-layer connections
CLI --> Kanari
Web --> RPC
RPC --> Kanari
Kanari --> K2
Std --> VM
Sys --> State
K2 --> P2P
K2 --> RPCNet
State --> DB
TX --> Wallet
VM --> File
class APP,CLI,Web,RPC app
class FW,Kanari,Std,Sys framework
class CORE,BC,RT,CON core
class NET,P2P,RPCNet network
class STORE,Wallet,File,DB storage
- Ensure you have Ubuntu or a similar Linux distribution.
- Install necessary dependencies like
build-essential
,curl
,clang
,gcc
,libssl-dev
,llvm
,make
,pkg-config
,tmux
,xz-utils
,ufw
using the providedbuild_ubuntu.sh
script.
- Rust is required for building and running the Kari chain. Use the command provided in the
build_ubuntu.sh
script to install Rust and its package manager, Cargo.
- Obtain the source code for Kari chain. This might involve cloning a Git repository or downloading source code from a specific location.
- Navigate to the project directory.
- Run
cargo build --release
to compile the project. This command compiles the project in release mode, optimizing the binary for performance.
- After building, you can start a Kari chain node using
cargo run --release
. This command runs the compiled project. - Depending on the project's specifics, you might need to add additional flags or configuration files to successfully start a node.
- Use the provided tools and documentation to interact with the Kari chain. This could involve sending transactions, mining blocks, or querying the blockchain state.
- Regularly update your local repository with the latest changes from the main Kari chain source.
- Rebuild the project as needed to ensure you're running the latest version.
# Update and install dependencies
./build_ubuntu.sh
# Clone the Kari chain repo
git clone https://github.com/kanari-network/kanari-sdk.git
cd kanari-network
# Initialize and update submodules
git submodule init
git submodule update --init --recursive
# Build the project
cargo build --release
# Generate wallet
cargo run --release --bin kari keytool generate
# Configure and start node
# Interactive prompts will ask for:
# 1. Node type (enter 1 for validator)
# 2. RPC port (default: 3031)
# 3. Network domain (default: devnet.kari.network)
cargo run --release --bin kari start
# Start Kari node
# Windows
cargo run --release --bin kari start
# Linux/MacOS
cargo run --release --bin kari start
- Install Visual Studio Build Tools
- Install Rust
- Install MinGW via chocolatey:
choco install mingw
cargo install --locked --git https://github.com/kanari-network/kanari-sdk.git --branch main kari