|
|
- [**Website**](http://tendermint.com) **|**
- [**Blog**](http://tendermint.com/posts/) **|**
- [**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.
-
- ## Submodules
-
- * **[consensus](https://github.com/tendermint/tendermint/blob/master/consensus):** core consensus algorithm
- * **[state](https://github.com/tendermint/tendermint/blob/master/state):** application state; mutated by transactions
- * **[blocks](https://github.com/tendermint/tendermint/blob/master/blocks):** structures of the blockchain
- * **[mempool](https://github.com/tendermint/tendermint/blob/master/mempool):** gossip of new transactions
- * **[merkle](https://github.com/tendermint/tendermint/blob/master/merkle):** merkle hash trees
- * **[p2p](https://github.com/tendermint/tendermint/blob/master/p2p):** extensible P2P networking
-
- ## Requirements
-
- [Go](http://golang.org) 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
-
- [Install Go for your platform](https://golang.org/doc/install)
-
- 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
- ```
-
- ## Build
-
- [![Build Status](https://drone.io/github.com/tendermint/tendermint/status.png)](https://drone.io/github.com/tendermint/tendermint/latest)
-
- ```
- make get_deps
- make
- ```
-
- ## Run
-
- `./tendermint daemon --help`
-
-
-
- ### Editing your config.json
-
- 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
- }
- ]
- }
- ]
- }
- ```
-
- ## Resources
-
- IRC Channel: #tendermint on freenode
|