Tendermint ABCI App for AMO blockchain
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
- run commands:
- First, run ABCI app via the following command:
NOTE: To run the daemon in background mode, run
amod run &.
- Run Tendermint node via the following command:
Test with Docker
For test setup details, see test-env.md.
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.
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:
This will run one seed node and two non-seed validator nodes in detatched mode. To run nodes with
stdout logging, run instead:
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.