Elacoin is the digital currency solution within Elastos eco system.
This project is the source code that can build a full node of TOKEN.
- Elastos ELA SideChain Token
- Pre-requisites on Mac
- Pre-requisites on Ubuntu
- Configure the node
- Build the node
- Interact with the node
- Contribution
- Acknowledgments
- License
Make sure the OSX version is 16.7+
$ uname -srm
Darwin 16.7.0 x86_64
Use Homebrew to install Golang 1.9.
$ brew install [email protected]
If you install older version, such as v1.8, you may get missing math/bits package error when build.
Glide is a package manager for Golang. We use Glide to install dependent packages.
$ brew install --ignore-dependencies glide
Make sure your ubuntu version is 16.04+
$ cat /etc/issue
Ubuntu 16.04.3 LTS \n \l
$ sudo apt-get install -y git
$ sudo apt-get install -y software-properties-common
$ sudo add-apt-repository -y ppa:gophers/archive
$ sudo apt update
$ sudo apt-get install -y golang-1.9-go
If you install older version, such as v1.8, you may get missing math/bits package error when build.
Glide is a package manager for Golang. We use Glide to install dependent packages.
$ cd ~/dev
$ curl https://glide.sh/get | sh
See the documentation about config.json to understand what each parameter means on the configuration file.
If you would like to connect to testnet, do the following:
$ cp docs/testnet_config.json.sample config.json
If you would like to connect to mainnet, do the following:
$ cp docs/mainnet_config.json.sample config.json
Make sure to modify the parameters to what your own specification.
In this instruction we use ~/dev/src/github.com/elastos as our working directory. If you clone the source code to a different directory, please make sure you change other environment variables accordingly (not recommended).
$ mkdir -p ~/dev/bin
$ mkdir -p ~/dev/src/github.com/elastos/
export GOROOT=/usr/local/opt/[email protected]/libexec
export GOPATH=$HOME/dev
export GOBIN=$GOPATH/bin
export PATH=$GOROOT/bin:$PATH
export PATH=$GOBIN:$PATH
Check the golang and glider version. Make sure they are the following version number or above.
$ go version
go version go1.9.2 darwin/amd64
$ glide --version
glide version 0.13.1
If you cannot see the version number, there must be something wrong when install.
Make sure you are in the folder of $GOPATH/src/github.com/elastos
$ git clone https://github.com/elastos/Elastos.ELA.SideChain.Token.git
If clone works successfully, you should see folder structure like $GOPATH/src/github.com/elastos/Elastos.ELA.SideChain.Token/Makefile
$ cd $GOPATH/src/github.com/elastos/Elastos.ELA.SideChain.Token
$ glide update && glide install
Build the node.
$ cd $GOPATH/src/github.com/elastos/Elastos.ELA.SideChain.Token
$ make
If you did not see any error message, congratulations, you have made the DID full node.
Run the node.
$ ./token
Once the node is running successfully, you can access ELA Node's JSON RPC APIs:
Example 1: Get the hash of the most recent block
curl -H 'Content-Type: application/json' -H 'Accept:application/json' --data '{"method":"getbestblockhash"}' https://localhost:20606
{
"error": null,
"id": null,
"jsonrpc": "2.0",
"result": "c4e72359cbb128bca244a800fb36d71f64b834e20d437c25de6c62edc46196c7"
}
Example 2: Get the hash of the specific blockchain height
curl -H 'Content-Type: application/json' -H 'Accept:application/json' --data '{"method":"getblockhash","params":{"height":1}}' https://localhost:20606
{
"error": null,
"id": null,
"jsonrpc": "2.0",
"result": "71b422e09dcd2f749d2adc0086735c210084cdb6b59bd4cd42e50455d024a662"
}
If you would like to learn more about what other JSON RPC APIs are available for the node, please check out the JSON RPC API
We welcome contributions to the Elastos ELA SideChain Token Project.
A sincere thank you to all teams and projects that we rely on directly or indirectly.
This project is licensed under the terms of the MIT license.