Skip to content

chainx-org/chainmint

Repository files navigation

Chainmint is based on the tendermint consensus inherited from Chain's UTXO and CVM. It can become a Cosmos Zone in the future, supporting Chain cross-chain functionality. In short:

Chainmint = UTXO + CVM + Tendermint

Components

  • Chainmint: implements the specific logic of the abci interface.
  • Tendermint: consensus module, handles chainmint transaction order.
  • PostgreSql: data storage module.
  • Chainmintcli: client for communication with chainmint.

Getting Started

Prerequisites

  1. install Tendermint
  2. install postgreSQL

Build

make get_vendor_deps
cd cmd/chainmint
go build
cd cmd/chainmintcli
go build

Run

Chainmint

First, configure user, password, dbname and sslmode in chainmint/chain/run.go:

dbURL = env.String("DATABASE_URL", "user=yourusername password=yourpassword dbname=core sslmode=disable")

then execute chainmint/core/schema.sql in postgreSql's core (i.e., dbname) database.

Enter chainmint/cmd/chainmint and run ./chainmint.

Local Tendermint

./tendermint init --home ./yourdir
./tendermint node --home ./yourdir

Chainmintcli

./chainmintcli <options.>

more details: chainmint(Chinese)