Skip to content
Tendermint ABCI app for AMO blockchain
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci Update CircleCI config to run unit test Mar 5, 2019
.github/ISSUE_TEMPLATE Update issue templates Feb 26, 2019
DOCKER Test script for staking and transfer May 3, 2019
amo Reset app_hash upon InitChain() Jun 11, 2019
client Change type tx.Message to tx.Tx May 16, 2019
cmd Add seed input for cli key generation May 15, 2019
crypto/p256 Add tags tx.type, tx.sender, parcel.id to DeliverTx res May 20, 2019
test_script Minor fix in test script May 20, 2019
.gitignore Rearrange .gitignore Apr 11, 2019
Gopkg.lock
Gopkg.toml
LICENSE Fix copyright Feb 11, 2019
Makefile Polish docker Apr 11, 2019
README.md Add instructions to run paust-db Mar 27, 2019
docker-compose.yml Clean up May 21, 2019

README.md

Tendermint ABCI App for AMO blockchain

Installation

Pre-requisites

Build from source

  • run commands to build Tendermint node:
git clone https://github.com/tendermint/tendermint
cd tendermint
make get_tools
make get_vendor_deps
make install
  • run commands to install AMO ABCI app (amod, amocli):
git clone https://github.com/amolabs/amoabci
cd amoabci
make get_tools
make get_vendor_deps
make install

In order to build for another platform (cross-compile) use TARGET variable. ex)

make TARGET=linux install

Gather network information

  • mainnet or testnet node address → $HOME/config/config.toml
  • genesis.json → $HOME/config/genesis.json

Prepare node

  • run commands:
tendermint init

Run daemons

  • First, run ABCI app via the following command:
amod run

NOTE: To run the daemon in background mode, run amod run &.

  • Run Tendermint node via the following command:
tendermint node

Test with Docker

For test setup details, see test-env.md.

Pre-requisites

Build

First, we need to build tendermint node image, and use it as a base image when building an amod image.

cd $GOPATH/src/github.com/tendermint/tendermint
# If not the first build, get_tools and get_vendor_deps targets are optional.
make get_tools
make get_vendor_deps
make build-linux
make build-docker

This will put an image with the tag tendermint/tendermint:latest in the local image pool.

Next, build an amod image

cd $GOPATH/src/github.com/amolabs/amoabci
# If not the first build, get_tools and get_vendor_deps targets are optional.
make get_tools
make get_vendor_deps
make docker

This will put an image with the tag amolabs/amod:latest in the local image pool.

We need PAUST-DB as a storage layer. Build paust-db image with the following commands:

cd $GOPATH/src/github.com/paust-team/paust-db
cd docker
make build-image

This will put an image with the tag paust-db:latest in the local image pool.

Run

Init paust-db storage with the following command:

rm -rf /tmp/pdb0
docker run --rm -v /tmp/pdb0:/tendermint:Z paust-db init

Run test containers with docker-compose via the following command:

make run-cluster

This will run one seed node and two non-seed validator nodes in detatched mode. To run nodes with stdout logging, run instead:

docker-compose up

To send a test transaction, run:

docker exec val2 amocli tx transfer --to 63A972C247D1DEBCEF2DDCF5D4E0848A42AFA529 --amount 10

And make sure that you see series of logs as the transaction propagate across the nodes and commited in the blockchain.

You can’t perform that action at this time.