4 [![Build Status](https://travis-ci.org/Bytom/vapor.svg)](https://travis-ci.org/Bytom/vapor) [![AGPL v3](https://img.shields.io/badge/license-AGPL%20v3-brightgreen.svg)](./LICENSE)
6 **Golang implemented sidechain for Bytom.**
10 - [Go](https://golang.org/doc/install) version 1.11 or higher, with `$GOPATH` set to your preferred directory
15 $ git clone https://github.com/Bytom/vapor.git $GOPATH/src/github.com/vapor
18 Then, you have two ways to get vapor executable file:
20 1. compile source code
21 2. build it using Docker
26 $ cd $GOPATH/src/github.com/vapor
32 Firstly, you need initialize node:
35 $ bytomd init --chain_id=vapor --home <vapor-data-path>
38 For example, you can store vapor data in `$HOME/bytom/vapor`:
41 $ bytomd init --chain_id=vapor --home $HOME/bytom/vapor
44 Then, start your node:
47 $ bytomd node --home <vapor-data-path>
55 $ cd $GOPATH/src/github.com/vapor
56 $ docker build -t vapor .
59 ### Enter the iterative mode
62 $ docker run -it --net=host -v <vapor/data/directory/on/host/machine>:/root/.vapor vapor:latest
65 vapor data directory has three config files:
71 Then you can use bytomd and bytomcli following [Bytom Wiki](https://github.com/Bytom/bytom/wiki/Command-Line-Options).
73 Use `exit` to exit Docker's iterative mode.
80 $ docker run -d --net=host -v <vapor/data/directory/on/host/machine>:/root/.vapor vapor:latest bytomd node --web.closed --auth.disable
83 To list the running containners and check their container id, image, corresponding command, created time, status, name and ports being used:
95 To execute a command inside a containner, for example:
98 $ docker exec -it <containerId> bytomcli create-access-token <tokenId>
101 To stop a running containner:
104 $ docker stop <containerId>
107 To remove a containner:
110 $ docker rm <containerId>