Jae Kwon 0a6c28c2da | 10 years ago | |
---|---|---|
account | 10 years ago | |
alert | 10 years ago | |
binary | 10 years ago | |
block | 10 years ago | |
cmd | 10 years ago | |
common | 10 years ago | |
config | 10 years ago | |
consensus | 10 years ago | |
db | 10 years ago | |
logger | 10 years ago | |
mempool | 10 years ago | |
merkle | 10 years ago | |
p2p | 10 years ago | |
rpc | 10 years ago | |
state | 10 years ago | |
.gitignore | 10 years ago | |
LICENSE.md | 10 years ago | |
Makefile | 10 years ago | |
README.md | 10 years ago |
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
When ./tendermint daemon
is first run, a file will be create in ~/.tendermint/config.toml
//TODO Explanation of other config.toml fields
# This is a TOML config file.
# For more information, see https://github.com/toml-lang/toml
Network = "tendermint_testnet0"
ListenAddr = "0.0.0.0:0"
# First node to connect to. Command-line overridable.
SeedNode = "23.239.22.253:8080"
[DB]
# The only other available backend is "memdb"
Backend = "leveldb"
# The leveldb data directory.
# Dir = "<YOUR_HOME_DIRECTORY>/.tendermint/data"
[RPC]
# For the RPC API HTTP server. Port required.
HTTP.ListenAddr = "0.0.0.0:8081"
[Alert]
# TODO: Document options
[SMTP]
# TODO: Document options
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": "553722287BF1230C081C270908C1F453E7D1C397",
"Amount": 200000000
},
{
"Address": "AC89A6DDF4C309A89A2C4078CE409A5A7B282270",
"Amount": 200000000
}
],
"Validators": [
{
"PubKey": [1, "932A857D334BA5A38DD8E0D9CDE9C84687C21D0E5BEE64A1EDAB9C6C32344F1A"],
"Amount": 100000000,
"UnbondTo": [
{
"Address": "553722287BF1230C081C270908C1F453E7D1C397",
"Amount": 100000000
}
]
}
]
}
IRC Channel: #tendermint on freenode