From 740167202fca613828e242f4b8b06a8707bb5a43 Mon Sep 17 00:00:00 2001 From: Zach Ramsay Date: Mon, 18 Sep 2017 16:23:22 -0400 Subject: [PATCH 1/3] readme & al., update links to docs --- CONTRIBUTING.md | 2 +- README.md | 80 +++++++++++++++++++++++++++++++--------------- docs/ecosystem.rst | 2 +- 3 files changed, 56 insertions(+), 28 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index f5ceee3c..a996acad 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,6 +1,6 @@ # Contributing -Thank you for considering making contributions to Tendermint and related repositories (Basecoin, Merkleeyes, etc.)! +Thank you for considering making contributions to Tendermint and related repositories! Start by taking a look at the [coding repo](https://github.com/tendermint/coding) for overall information on repository workflow and standards. Please follow standard github best practices: fork the repo, branch from the tip of develop, make some commits, and submit a pull request to develop. See the [open issues](https://github.com/tendermint/tendermint/issues) for things we need help with! diff --git a/README.md b/README.md index f6ef7604..7238e51b 100644 --- a/README.md +++ b/README.md @@ -13,22 +13,17 @@ https://camo.githubusercontent.com/915b7be44ada53c290eb157634330494ebe3e30a/6874 [![](https://tokei.rs/b1/github/tendermint/tendermint?category=lines)](https://github.com/tendermint/tendermint) -Branch | Tests | Coverage | Report Card -----------|-------|----------|------------- -develop | [![CircleCI](https://circleci.com/gh/tendermint/tendermint/tree/develop.svg?style=shield)](https://circleci.com/gh/tendermint/tendermint/tree/develop) | [![codecov](https://codecov.io/gh/tendermint/tendermint/branch/develop/graph/badge.svg)](https://codecov.io/gh/tendermint/tendermint) | [![Go Report Card](https://goreportcard.com/badge/github.com/tendermint/tendermint/tree/develop)](https://goreportcard.com/report/github.com/tendermint/tendermint/tree/develop) -master | [![CircleCI](https://circleci.com/gh/tendermint/tendermint/tree/master.svg?style=shield)](https://circleci.com/gh/tendermint/tendermint/tree/master) | [![codecov](https://codecov.io/gh/tendermint/tendermint/branch/master/graph/badge.svg)](https://codecov.io/gh/tendermint/tendermint) | [![Go Report Card](https://goreportcard.com/badge/github.com/tendermint/tendermint/tree/master)](https://goreportcard.com/report/github.com/tendermint/tendermint/tree/master) +Branch | Tests | +----------|-------| +master | [![CircleCI](https://circleci.com/gh/tendermint/tendermint/tree/master.svg?style=shield)](https://circleci.com/gh/tendermint/tendermint/tree/master) +develop | [![CircleCI](https://circleci.com/gh/tendermint/tendermint/tree/develop.svg?style=shield)](https://circleci.com/gh/tendermint/tendermint/tree/develop) _NOTE: This is alpha software. Please contact us if you intend to run it in production._ -Tendermint Core is Byzantine Fault Tolerant (BFT) middleware that takes a state transition machine, written in any programming language, +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.com/intro). - -To get started developing applications, see the [application developers guide](https://tendermint.com/docs/guides/app-development). - -### Code of Conduct -Please read, understand and adhere to our [code of conduct](CODE_OF_CONDUCT.md). +For more information, from introduction to install to application development, [Read The Docs](http://tendermint.readthedocs.io/projects/tools/en/master/index.html). ## Install @@ -38,39 +33,72 @@ To install from source, you should be able to: `go get -u github.com/tendermint/tendermint/cmd/tendermint` -For more details (or if it fails), see the [install guide](https://tendermint.com/docs/guides/install-from-source). - -## Contributing - -Yay open source! Please see our [contributing guidelines](CONTRIBUTING.md). +For more details (or if it fails), [read the docs](http://tendermint.readthedocs.io/projects/tools/en/master/install.html). ## Resources ### Tendermint Core -- [Introduction](https://tendermint.com/intro) -- [Docs](https://tendermint.com/docs) -- [Software using Tendermint](https://tendermint.com/ecosystem) +All resources involving the use of, building application on, or developing for, tendermint, can be found at [Read The Docs](http://tendermint.readthedocs.io/projects/tools/en/master/index.html). Additional information about some - and eventually all - of the sub-projects below, can be found at Read The Docs. ### Sub-projects * [ABCI](http://github.com/tendermint/abci), the Application Blockchain Interface * [Go-Wire](http://github.com/tendermint/go-wire), a deterministic serialization library * [Go-Crypto](http://github.com/tendermint/go-crypto), an elliptic curve cryptography library -* [TmLibs](http://github.com/tendermint/tmlibs), an assortment of Go libraries -* [Merkleeyes](http://github.com/tendermint/merkleeyes), a balanced, binary Merkle tree for ABCI apps +* [TmLibs](http://github.com/tendermint/tmlibs), an assortment of Go libraries used internally +* [IAVL](http://github.com/tendermint/iavl), Merkleized IAVL+ Tree implementation ### Tools -* [Deployment, Benchmarking, and Monitoring](https://github.com/tendermint/tools) +* [Deployment, Benchmarking, and Monitoring](http://tendermint.readthedocs.io/projects/tools/en/develop/index.html#tendermint-tools) ### Applications -* [Ethermint](http://github.com/tendermint/ethermint): Ethereum on Tendermint -* [Basecoin](http://github.com/tendermint/basecoin), a cryptocurrency application framework +* [Ethermint](http://github.com/tendermint/ethermint); Ethereum on Tendermint +* [Cosmos SDK](http://github.com/cosmos/cosmos-sdk); a cryptocurrency application framework ### More +* [Master's Thesis on Tendermint](https://atrium.lib.uoguelph.ca/xmlui/handle/10214/9769) +* [Original Whitepaper](https://tendermint.com/static/docs/tendermint.pdf) * [Tendermint Blog](https://blog.cosmos.network/tendermint/home) * [Cosmos Blog](https://blog.cosmos.network) -* [Original Whitepaper (out-of-date)](http://www.the-blockchain.com/docs/Tendermint%20Consensus%20without%20Mining.pdf) -* [Master's Thesis on Tendermint](https://atrium.lib.uoguelph.ca/xmlui/handle/10214/9769) + +## Contributing + +Yay open source! Please see our [contributing guidelines](CONTRIBUTING.md). + +## Versioning + +### SemVer + +Tendermint uses [SemVer](http://semver.org/) to determine when and how the version changes. +According to SemVer, anything in the public API can change at any time before version 1.0.0 + +To provide some stability to Tendermint users in these 0.X.X days, the MINOR version is used +to signal breaking changes across a subset of the total public API. This subset includes all +interfaces exposed to other processes (cli, rpc, p2p, etc.), as well as parts of the following packages: + +- types +- rpc/client +- config +- node + +Exported objects in these packages that are not covered by the versioning scheme +are explicitly marked by `// UNSTABLE` in their go doc comment and may change at any time. +Functions, types, and values in any other package may also change at any time. + +### Upgrades + +In an effort to avoid accumulating technical debt prior to 1.0.0, +we do not guarantee that breaking changes (ie. bumps in the MINOR version) +will work with existing tendermint blockchains. In these cases you will +have to start a new blockchain, or write something custom to get the old +data into the new chain. + +However, any bump in the PATCH version should be compatible with existing histories +(if not please open an [issue](https://github.com/tendermint/tendermint/issues)). + +### Code of Conduct + +Please read, understand and adhere to our [code of conduct](CODE_OF_CONDUCT.md). diff --git a/docs/ecosystem.rst b/docs/ecosystem.rst index 876a195d..188f5009 100644 --- a/docs/ecosystem.rst +++ b/docs/ecosystem.rst @@ -91,4 +91,4 @@ Deployment Tools See `deploy testnets <./deploy-testnets.html>`__ for information about all the tools built by Tendermint. We have Kubernetes, Ansible, and Terraform integrations. -Cloudsoft built `brooklyn-tendermint `__ for deploying a tendermint testnet in docker continers. It used Clocker for Apache Brooklyn. +Cloudsoft built `brooklyn-tendermint `__ for deploying a tendermint testnet in docker continers. It uses Clocker for Apache Brooklyn. From cf9a03f698dd1454d78936de2ea46dcb4afa1780 Mon Sep 17 00:00:00 2001 From: Zach Ramsay Date: Mon, 18 Sep 2017 16:42:24 -0400 Subject: [PATCH 2/3] docs: organize install a bit better --- docs/install.rst | 32 ++++++++++++++++++++------------ 1 file changed, 20 insertions(+), 12 deletions(-) diff --git a/docs/install.rst b/docs/install.rst index b353aba8..1746daa9 100644 --- a/docs/install.rst +++ b/docs/install.rst @@ -1,17 +1,24 @@ -Install from Source -=================== +Install Tendermint +================== -This page provides instructions on installing Tendermint from source. To -download pre-built binaries, see the `Download page `__. +From Binary +----------- + +To download pre-built binaries, see the `Download page `__. + +From Source +----------- + +You'll need `go`, maybe `glide` and the tendermint source code. Install Go ----------- +^^^^^^^^^^ Make sure you have `installed Go `__ and set the ``GOPATH``. -Install Tendermint ------------------- +Get Source Code +^^^^^^^^^^^^^^^ You should be able to install the latest with a simple @@ -19,13 +26,14 @@ You should be able to install the latest with a simple go get github.com/tendermint/tendermint/cmd/tendermint -Run ``tendermint --help`` for more. +Run ``tendermint --help`` and ``tendermint version`` to ensure your +installation worked. If the installation failed, a dependency may been updated and become incompatible with the latest Tendermint master branch. We solve this using the ``glide`` tool for dependency management. -Fist, install ``glide``: +First, install ``glide``: :: @@ -45,7 +53,7 @@ still cloned to the correct location in the ``$GOPATH``. The latest Tendermint Core version is now installed. Reinstall -~~~~~~~~~ +--------- If you already have Tendermint installed, and you make updates, simply @@ -79,7 +87,7 @@ Since the third option just uses ``glide`` right away, it should always work. Troubleshooting -~~~~~~~~~~~~~~~ +--------------- If ``go get`` failing bothers you, fetch the code using ``git``: @@ -92,7 +100,7 @@ If ``go get`` failing bothers you, fetch the code using ``git``: go install ./cmd/tendermint Run -~~~ +^^^ To start a one-node blockchain with a simple in-process application: From a3d925ac1d8ac177510bfb40dd439c3048b170af Mon Sep 17 00:00:00 2001 From: Zach Ramsay Date: Mon, 18 Sep 2017 16:52:00 -0400 Subject: [PATCH 3/3] pr fixes --- README.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 7238e51b..42005797 100644 --- a/README.md +++ b/README.md @@ -13,17 +13,17 @@ https://camo.githubusercontent.com/915b7be44ada53c290eb157634330494ebe3e30a/6874 [![](https://tokei.rs/b1/github/tendermint/tendermint?category=lines)](https://github.com/tendermint/tendermint) -Branch | Tests | -----------|-------| -master | [![CircleCI](https://circleci.com/gh/tendermint/tendermint/tree/master.svg?style=shield)](https://circleci.com/gh/tendermint/tendermint/tree/master) -develop | [![CircleCI](https://circleci.com/gh/tendermint/tendermint/tree/develop.svg?style=shield)](https://circleci.com/gh/tendermint/tendermint/tree/develop) +Branch | Tests | Coverage +----------|-------|---------- +master | [![CircleCI](https://circleci.com/gh/tendermint/tendermint/tree/master.svg?style=shield)](https://circleci.com/gh/tendermint/tendermint/tree/master) | [![codecov](https://codecov.io/gh/tendermint/tendermint/branch/master/graph/badge.svg)](https://codecov.io/gh/tendermint/tendermint) +develop | [![CircleCI](https://circleci.com/gh/tendermint/tendermint/tree/develop.svg?style=shield)](https://circleci.com/gh/tendermint/tendermint/tree/develop) | [![codecov](https://codecov.io/gh/tendermint/tendermint/branch/develop/graph/badge.svg)](https://codecov.io/gh/tendermint/tendermint) _NOTE: This is alpha software. Please contact us if you intend to run it in production._ 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 information, from introduction to install to application development, [Read The Docs](http://tendermint.readthedocs.io/projects/tools/en/master/index.html). +For more information, from introduction to install to application development, [Read The Docs](http://tendermint.readthedocs.io/projects/tools/en/master). ## Install @@ -39,7 +39,7 @@ For more details (or if it fails), [read the docs](http://tendermint.readthedocs ### Tendermint Core -All resources involving the use of, building application on, or developing for, tendermint, can be found at [Read The Docs](http://tendermint.readthedocs.io/projects/tools/en/master/index.html). Additional information about some - and eventually all - of the sub-projects below, can be found at Read The Docs. +All resources involving the use of, building application on, or developing for, tendermint, can be found at [Read The Docs](http://tendermint.readthedocs.io/projects/tools/en/master). Additional information about some - and eventually all - of the sub-projects below, can be found at Read The Docs. ### Sub-projects @@ -99,6 +99,6 @@ data into the new chain. However, any bump in the PATCH version should be compatible with existing histories (if not please open an [issue](https://github.com/tendermint/tendermint/issues)). -### Code of Conduct +## Code of Conduct Please read, understand and adhere to our [code of conduct](CODE_OF_CONDUCT.md).