Update README.md

This commit is contained in:
Jae Kwon 2015-01-20 03:30:57 -08:00
parent 72fc522bbf
commit b7b1d6a596
1 changed files with 5 additions and 109 deletions

114
README.md
View File

@ -1,113 +1,9 @@
[**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.
###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
# Tendermint
[**Website**](http://tendermint.com) |
[**IRC**] (http://webchat.freenode.net/?randomnick=1&channels=%23tendermint) |
[![Build Status](http://drone.io/github.com/tendermint/tendermint/status.png)](https://drone.io/github.com/tendermint/tendermint/latest)
```
make get_deps
make
```
Tendermint is blockchain consensus. No proof of work.
## Run
`./tendermint daemon --help`
### Editing your config file
When `./tendermint daemon` is first run, a file will be create in ~/.tendermint/config.toml
//TODO Explanation of other config.toml fields
```toml
# 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
}
]
}
]
}
```
## Resources
IRC Channel: #tendermint on freenode
Check out the [Developer Quick Start](https://github.com/tendermint/tendermint/wiki/Developer-Quick-Start)