Website | Blog | [Forum] (http://forum.tendermint.com) | [IRC] (http://webchat.freenode.net/?randomnick=1&channels=%23tendermint)
Tendermint in Golang
Tendermint is a completely decentralized byzantine consensus protocol suitable for use in cryptocurrencies.
This project is a reference implementation of the protocol.
Go 1.2 or newer.
OpenSSL header files. sudo apt-get install libssl-dev
on Debian/Ubuntu
//TODO OpenSSL header files for other platforms
###Setting up Golang
Set up environment variables. Go requires certain environment variables to compile code. Set these in your terminal, .profile or .zshrc as appropiate.
export GOROOT=$HOME/go
export PATH=$PATH:$GOROOT/bin
export GOPATH=$HOME/gopkg
make get_deps
make
./tendermint daemon --help
The file will be create in ~/.tendermint/config.json
There is not official or testnet SeedNode yet. Will updated with an official list of seed nodes.
//TODO Explanation of other config.json fields
{
"Network": "tendermint_testnet0",
"LAddr": "0.0.0.0:0",
"SeedNode": "",
"DB": {
"Backend": "leveldb",
"Dir": "/home/zaki/.tendermint/data"
},
"Alert": {
"MinInterval": 0,
"TwilioSid": "",
"TwilioToken": "",
"TwilioFrom": "",
"TwilioTo": "",
"EmailRecipients": null
},
"SMTP": {
"User": "",
"Password": "",
"Host": "",
"Port": 0
},
"RPC": {
"HTTPLAddr": "0.0.0.0:0"
}
}
You will also to need to have a genesis.json in ~/.tendermint/. This must be the common genesis.json as the network you are joining from the Seed Node
{
"Accounts": [
{
"Address": "6070ff17c39b2b0a64ca2bc431328037fa0f4760",
"Amount": 200000000
}
],
"Validators": [
{
"PubKey": "01206bd490c212e701a2136eeea04f06fa4f287ee47e2b7a9b5d62edd84cd6ad9753",
"Amount": 100000000,
"UnbondTo": [
{
"Address": "6070ff17c39b2b0a64ca2bc431328037fa0f4760",
"Amount": 100000000
}
]
}
]
}
IRC Channel: #tendermint on freenode