docs re-orgnization

This commit is contained in:
Zach Ramsay 2018-07-05 16:06:11 -04:00
parent 79d6bd8ce0
commit e54c0f804f
27 changed files with 202 additions and 14 deletions

1
.gitignore vendored
View File

@ -14,7 +14,6 @@ test/p2p/data/
test/logs test/logs
coverage.txt coverage.txt
docs/_build docs/_build
docs/tools
*.log *.log
abci-cli abci-cli
abci/types/types.pb.go abci/types/types.pb.go

View File

@ -1,7 +1,5 @@
# Tendermint # Tendermint
TEST!
Welcome to the Tendermint Core documentation! The introduction below provides Welcome to the Tendermint Core documentation! The introduction below provides
an overview to help you navigate to your area of interest. an overview to help you navigate to your area of interest.
@ -13,18 +11,17 @@ replicates it on many machines. In other words, a blockchain.
Tendermint requires an application running over the Application Blockchain Tendermint requires an application running over the Application Blockchain
Interface (ABCI) - and comes packaged with an example application to do so. Interface (ABCI) - and comes packaged with an example application to do so.
Follow the [installation instructions](./install) to get up and running Follow the [installation instructions](./introduction/install) to get up and running
quickly. For more details on [using tendermint](./using-tendermint) see that quickly. For more details on [using tendermint](./tendermint-core/using-tendermint) see that
and the following sections. and the following sections.
## Networks ## Networks
Testnets can be setup manually on one or more machines, or automatically on one Testnets can be setup manually on one or more machines, or automatically on one
or more machine, using a variety of methods described in the [deploy testnets or more machine, using a variety of methods described in the [deploy testnets
section](./deploy-testnets). For more information (and to join) about the section](./networks/deploy-testnets).
Cosmos Network testnets, see [here](/getting-started/full-node.md).
## Application Development ## Application Development
The first step to building application on Tendermint is to [install The first step to building application on Tendermint is to [install
ABCI-CLI](./getting-started) and play with the example applications. ABCI-CLI](./app-dev/getting-started) and play with the example applications.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 52 KiB

View File

@ -3,8 +3,7 @@
## Overview ## Overview
This is a quick start guide. If you have a vague idea about how Tendermint This is a quick start guide. If you have a vague idea about how Tendermint
works and want to get started right away, continue. Otherwise, [review the works and want to get started right away, continue.
documentation](http://tendermint.readthedocs.io/en/master/).
## Install ## Install
@ -135,10 +134,10 @@ This will install `go` and other dependencies, get the Tendermint source code, t
Next, use the `tendermint testnet` command to create four directories of config files (found in `./mytestnet`) and copy each directory to the relevant machine in the cloud, so that each machine has `$HOME/mytestnet/node[0-3]` directory. Then from each machine, run: Next, use the `tendermint testnet` command to create four directories of config files (found in `./mytestnet`) and copy each directory to the relevant machine in the cloud, so that each machine has `$HOME/mytestnet/node[0-3]` directory. Then from each machine, run:
``` ```
tendermint node --home ./mytestnet/node0 --proxy_app=kvstore --p2p.persistent_peers="167b80242c300bf0ccfb3ced3dec60dc2a81776e@IP1:26656,3c7a5920811550c04bf7a0b2f1e02ab52317b5e6@IP2:26656,303a1a4312c30525c99ba66522dd81cca56a361a@IP3:26656,b686c2a7f4b1b46dca96af3a0f31a6a7beae0be4@IP4:26656" tendermint node --home ./mytestnet/node0 --proxy_app=kvstore --p2p.persistent_peers="ID1@IP1:26656,ID2@IP2:26656,ID3@IP3:26656,ID4@IP4:26656"
tendermint node --home ./mytestnet/node1 --proxy_app=kvstore --p2p.persistent_peers="167b80242c300bf0ccfb3ced3dec60dc2a81776e@IP1:26656,3c7a5920811550c04bf7a0b2f1e02ab52317b5e6@IP2:26656,303a1a4312c30525c99ba66522dd81cca56a361a@IP3:26656,b686c2a7f4b1b46dca96af3a0f31a6a7beae0be4@IP4:26656" tendermint node --home ./mytestnet/node1 --proxy_app=kvstore --p2p.persistent_peers="ID1@IP1:26656,ID2@IP2:26656,ID3@IP3:26656,ID4@IP4:26656"
tendermint node --home ./mytestnet/node2 --proxy_app=kvstore --p2p.persistent_peers="167b80242c300bf0ccfb3ced3dec60dc2a81776e@IP1:26656,3c7a5920811550c04bf7a0b2f1e02ab52317b5e6@IP2:26656,303a1a4312c30525c99ba66522dd81cca56a361a@IP3:26656,b686c2a7f4b1b46dca96af3a0f31a6a7beae0be4@IP4:26656" tendermint node --home ./mytestnet/node2 --proxy_app=kvstore --p2p.persistent_peers="ID1@IP1:26656,ID2@IP2:26656,ID3@IP3:26656,ID4@IP4:26656"
tendermint node --home ./mytestnet/node3 --proxy_app=kvstore --p2p.persistent_peers="167b80242c300bf0ccfb3ced3dec60dc2a81776e@IP1:26656,3c7a5920811550c04bf7a0b2f1e02ab52317b5e6@IP2:26656,303a1a4312c30525c99ba66522dd81cca56a361a@IP3:26656,b686c2a7f4b1b46dca96af3a0f31a6a7beae0be4@IP4:26656" tendermint node --home ./mytestnet/node3 --proxy_app=kvstore --p2p.persistent_peers="ID1@IP1:26656,ID2@IP2:26656,ID3@IP3:26656,ID4@IP4:26656"
``` ```
Note that after the third node is started, blocks will start to stream in Note that after the third node is started, blocks will start to stream in

View File

@ -0,0 +1,49 @@
# tm-bench
Tendermint blockchain benchmarking tool:
- https://github.com/tendermint/tools/tree/master/tm-bench
For example, the following:
tm-bench -T 10 -r 1000 localhost:46657
will output:
Stats Avg Stdev Max
Block latency 6.18ms 3.19ms 14ms
Blocks/sec 0.828 0.378 1
Txs/sec 963 493 1811
## Quick Start
[Install Tendermint](https://github.com/tendermint/tendermint#install)
then run:
tendermint init
tendermint node --proxy_app=kvstore
tm-bench localhost:46657
with the last command being in a seperate window.
## Usage
tm-bench [-c 1] [-T 10] [-r 1000] [endpoints]
Examples:
tm-bench localhost:46657
Flags:
-T int
Exit after the specified amount of time in seconds (default 10)
-c int
Connections to keep open per endpoint (default 1)
-r int
Txs per second to send in a connection (default 1000)
-v Verbose output
## Development
make get_vendor_deps
make test

67
docs/tools/docker.md Normal file
View File

@ -0,0 +1,67 @@
# Docker
## Supported tags and respective `Dockerfile` links
- `0.17.1`, `latest` [(Dockerfile)](https://github.com/tendermint/tendermint/blob/208ac32fa266657bd6c304e84ec828aa252bb0b8/DOCKER/Dockerfile)
- `0.15.0` [(Dockerfile)](https://github.com/tendermint/tendermint/blob/170777300ea92dc21a8aec1abc16cb51812513a4/DOCKER/Dockerfile)
- `0.13.0` [(Dockerfile)](https://github.com/tendermint/tendermint/blob/a28b3fff49dce2fb31f90abb2fc693834e0029c2/DOCKER/Dockerfile)
- `0.12.1` [(Dockerfile)](https://github.com/tendermint/tendermint/blob/457c688346b565e90735431619ca3ca597ef9007/DOCKER/Dockerfile)
- `0.12.0` [(Dockerfile)](https://github.com/tendermint/tendermint/blob/70d8afa6e952e24c573ece345560a5971bf2cc0e/DOCKER/Dockerfile)
- `0.11.0` [(Dockerfile)](https://github.com/tendermint/tendermint/blob/9177cc1f64ca88a4a0243c5d1773d10fba67e201/DOCKER/Dockerfile)
- `0.10.0` [(Dockerfile)](https://github.com/tendermint/tendermint/blob/e5342f4054ab784b2cd6150e14f01053d7c8deb2/DOCKER/Dockerfile)
- `0.9.1`, `0.9`, [(Dockerfile)](https://github.com/tendermint/tendermint/blob/809e0e8c5933604ba8b2d096803ada7c5ec4dfd3/DOCKER/Dockerfile)
- `0.9.0` [(Dockerfile)](https://github.com/tendermint/tendermint/blob/d474baeeea6c22b289e7402449572f7c89ee21da/DOCKER/Dockerfile)
- `0.8.0`, `0.8` [(Dockerfile)](https://github.com/tendermint/tendermint/blob/bf64dd21fdb193e54d8addaaaa2ecf7ac371de8c/DOCKER/Dockerfile)
- `develop` [(Dockerfile)](https://github.com/tendermint/tendermint/blob/master/DOCKER/Dockerfile.develop)
`develop` tag points to the [develop](https://github.com/tendermint/tendermint/tree/develop) branch.
## Quick reference
- **Where to get help:**
https://cosmos.network/community
- **Where to file issues:**
https://github.com/tendermint/tendermint/issues
- **Supported Docker versions:**
[the latest release](https://github.com/moby/moby/releases) (down to 1.6 on a best-effort basis)
## Tendermint
Tendermint Core is Byzantine Fault Tolerant (BFT) middleware that takes a state transition machine, written in any programming language, and securely replicates it on many machines.
For more background, see the [introduction](https://tendermint.readthedocs.io/en/master/introduction.html).
To get started developing applications, see the [application developers guide](https://tendermint.readthedocs.io/en/master/getting-started.html).
## How to use this image
### Start one instance of the Tendermint core with the `kvstore` app
A quick example of a built-in app and Tendermint core in one container.
```
docker run -it --rm -v "/tmp:/tendermint" tendermint/tendermint init
docker run -it --rm -v "/tmp:/tendermint" tendermint/tendermint node --proxy_app=kvstore
```
## Local cluster
To run a 4-node network, see the `Makefile` in the root of [the repo](https://github.com/tendermint/tendermint/master/Makefile) and run:
```
make build-linux
make build-docker-localnode
make localnet-start
```
Note that this will build and use a different image than the ones provided here.
## License
- Tendermint's license is [Apache 2.0](https://github.com/tendermint/tendermint/master/LICENSE).
## Contributing
Contributions are most welcome! See the [contributing file](https://github.com/tendermint/tendermint/blob/master/CONTRIBUTING.md) for more information.

77
docs/tools/monitoring.md Normal file
View File

@ -0,0 +1,77 @@
# tm-monitor
Tendermint blockchain monitoring tool; watches over one or more nodes,
collecting and providing various statistics to the user:
- https://github.com/tendermint/tools/tree/master/tm-monitor
## Quick Start
### Docker
Assuming your application is running in another container with the name
`app`:
docker run -it --rm -v "/tmp:/tendermint" tendermint/tendermint init
docker run -it --rm -v "/tmp:/tendermint" -p "46657:46657" --name=tm --link=app tendermint/tendermint node --proxy_app=tcp://app:46658
docker run -it --rm -p "46670:46670" --link=tm tendermint/monitor tm:46657
If you don't have an application yet, but still want to try monitor out,
use `kvstore`:
docker run -it --rm -v "/tmp:/tendermint" tendermint/tendermint init
docker run -it --rm -v "/tmp:/tendermint" -p "46657:46657" --name=tm tendermint/tendermint node --proxy_app=kvstore
docker run -it --rm -p "46670:46670" --link=tm tendermint/monitor tm:46657
### Using Binaries
[Install Tendermint](https://github.com/tendermint/tendermint#install)
then run:
tendermint init
tendermint node --proxy_app=kvstore
tm-monitor localhost:46657
with the last command being in a seperate window.
## Usage
tm-monitor [-v] [-no-ton] [-listen-addr="tcp://0.0.0.0:46670"] [endpoints]
Examples:
# monitor single instance
tm-monitor localhost:46657
# monitor a few instances by providing comma-separated list of RPC endpoints
tm-monitor host1:46657,host2:46657
Flags:
-listen-addr string
HTTP and Websocket server listen address (default "tcp://0.0.0.0:46670")
-no-ton
Do not show ton (table of nodes)
-v verbose logging
### RPC UI
Run `tm-monitor` and visit http://localhost:46670 You should see the
list of the available RPC endpoints:
http://localhost:46670/status
http://localhost:46670/status/network
http://localhost:46670/monitor?endpoint=_
http://localhost:46670/status/node?name=_
http://localhost:46670/unmonitor?endpoint=_
The API is available as GET requests with URI encoded parameters, or as
JSONRPC POST requests. The JSONRPC methods are also exposed over
websocket.
## Development
make get_tools
make get_vendor_deps
make test