go-kardia
go-kardia copied to clipboard
Golang implementation of KardiaChain Decentralize Network
Go-Kardia
(DEPRECATED) We're moving to RUST Core
Official Golang implementation of KardiaChain following the specs in Technical Paper
KardiaChain Aris Mainnet 1.0
- Network Explorer: Aris Explorer
KardiaChain Private Devnet
- Network Explorer: Devnet Explorer
- Release: kardia-v1.1.0
Quickstart
Run Local Testnet with docker
- See deplopyment/local for more details.
Join Public Testnet
- See deplopyment/testnet for more details.
Join Mainnet
- See deplopyment/mainnet for more details.
Development
Go environment setup
Install Go to $HOME directory. Sets environment vars:
export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin
- Recommend
go build
version: 1.14.12 (stable), 1.15.5 (unstable) - Recommend
go test ./...
>= version: 1.14.12
Installation Prerequisites
- Install libzmq
Build
cd $GOPATH/src/github.com/kardiachain/go-kardia/cmd
go install
Directory structure
Most of the top-level directories are self-explanatory. Here are the core directories:
- consensus - consensus engine
- config - default network configs
- dualchain - dual node's blockchain and service
- dualnode - interface layer to external blockchains, e.g. Ethererum, Neo, etc.
- kai - shared libraries specific to KardiaChain
- kvm - Kardia virtual machine
- lib - third-party libraries
- node - Node service
- rpc - RPC server
- mainchain - Kardia blockchain core and service
- proto - protobuf messages definition
- types - Kardia objects types
Unit tests
cd $GOPATH/src/github.com/kardiachain/go-kardia
go test ./...
Start Kardia network
Mainnet
- See deplopyment/mainnet for more details.
Testnet Fengari 3.0
./cmd --network testnet --node <path/to/kai_config_testnet.yaml>
Devnet
./cmd --network devnet --node <path/to/kai_config_devnet_node1.yaml>
./cmd --network devnet --node <path/to/kai_config_devnet_node2.yaml>
./cmd --network devnet --node <path/to/kai_config_devnet_node3.yaml>
Monitor network with KardiaChain Explorer
- Setup JSON-RPC request
- Launch Explorer Backend (publication soon)