All Projects → kardiachain → go-kardia

kardiachain / go-kardia

Licence: LGPL-3.0, Unknown licenses found Licenses found LGPL-3.0 COPYING.LESSER Unknown LICENSE-3RD-PARTY.txt
(DEPRECATED) Golang implementation of KardiaChain Decentralize Network

Programming Languages

go
31211 projects - #10 most used programming language
solidity
1140 projects
javascript
184084 projects - #8 most used programming language
assembly
5116 projects
c
50402 projects - #5 most used programming language
shell
77523 projects

Go-Kardia

(DEPRECATED) We're moving to RUST Core

version Go version License: LGPL v3 CircleCI codecov

Official Golang implementation of KardiaChain following the specs in Technical Paper

alt text

KardiaChain Aris Mainnet 1.0

KardiaChain Private Devnet

Quickstart

Run Local Testnet with docker

Join Public Testnet

Join Mainnet

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

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

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].