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.8 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 And some files in `<vapor-data-path>`:
47 $ cd <vapor-data-path>
58 `config.toml` save vapor network info, like:
62 # This is a TOML config file.
63 # For more information, see https://github.com/toml-lang/toml
65 db_backend = "leveldb"
66 api_addr = "0.0.0.0:9889"
70 laddr = "tcp://0.0.0.0:56659"
71 seeds = "52.83.133.152:56659"
74 `federation.json` save relayed node xpub, like:
80 "50ef22b3a3fca7bc08916187cc9ec2f4005c9c6b1353aa1decbd4be3f3bb0fbe1967589f0d9dec13a388c0412002d2c267bdf3b920864e1ddc50581be5604ce1"
86 Then, start your node:
89 $ bytomd node --home <vapor-data-path>
95 $ bytomd init --chain_id=solonet --home <vapor-data-path>
96 $ bytomd node --home <vapor-data-path>
104 $ cd $GOPATH/src/github.com/vapor
105 $ docker build -t vapor .
108 ### Enter the iterative mode
111 $ docker run -it --net=host -v <vapor/data/directory/on/host/machine>:/root/.vapor vapor:latest
114 vapor data directory has three config files:
120 Then you can use bytomd and bytomcli following [Bytom Wiki](https://github.com/Bytom/bytom/wiki/Command-Line-Options).
122 Use `exit` to exit Docker's iterative mode.
129 $ docker run -d --net=host -v <vapor/data/directory/on/host/machine>:/root/.vapor vapor:latest bytomd node --web.closed --auth.disable
132 To list the running containners and check their container id, image, corresponding command, created time, status, name and ports being used:
135 $ docker container ls
144 To execute a command inside a containner, for example:
147 $ docker exec -it <containerId> bytomcli create-access-token <tokenId>
150 To stop a running containner:
153 $ docker stop <containerId>
156 To remove a containner:
159 $ docker rm <containerId>