github.com/ari-anchor/sei-tendermint@v0.0.0-20230519144642-dc826b7b56bb/README.md (about) 1 # Tendermint 2 3 ![banner](docs/tendermint-core-image.jpg) 4 5 [Byzantine-Fault Tolerant](https://en.wikipedia.org/wiki/Byzantine_fault_tolerance) 6 [State Machine Replication](https://en.wikipedia.org/wiki/State_machine_replication). 7 Or [Blockchain](<https://en.wikipedia.org/wiki/Blockchain_(database)>), for short. 8 9 [![version](https://img.shields.io/github/tag/tendermint/tendermint.svg)](https://github.com/tendermint/tendermint/releases/latest) 10 [![API Reference](https://camo.githubusercontent.com/915b7be44ada53c290eb157634330494ebe3e30a/68747470733a2f2f676f646f632e6f72672f6769746875622e636f6d2f676f6c616e672f6764646f3f7374617475732e737667)](https://pkg.go.dev/github.com/tendermint/tendermint) 11 [![Go version](https://img.shields.io/badge/go-1.16-blue.svg)](https://github.com/moovweb/gvm) 12 [![Discord chat](https://img.shields.io/discord/669268347736686612.svg)](https://discord.gg/cosmosnetwork) 13 [![license](https://img.shields.io/github/license/tendermint/tendermint.svg)](https://github.com/tendermint/tendermint/blob/master/LICENSE) 14 [![tendermint/tendermint](https://tokei.rs/b1/github/tendermint/tendermint?category=lines)](https://github.com/tendermint/tendermint) 15 [![Sourcegraph](https://sourcegraph.com/github.com/tendermint/tendermint/-/badge.svg)](https://sourcegraph.com/github.com/tendermint/tendermint?badge) 16 17 | Branch | Tests | Coverage | Linting | 18 |--------|--------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------| 19 | master | ![Tests](https://github.com/tendermint/tendermint/workflows/Tests/badge.svg?branch=master) | [![codecov](https://codecov.io/gh/tendermint/tendermint/branch/master/graph/badge.svg)](https://codecov.io/gh/tendermint/tendermint) | ![Lint](https://github.com/tendermint/tendermint/workflows/Lint/badge.svg) | 20 21 Tendermint Core is a Byzantine Fault Tolerant (BFT) middleware that takes a state transition machine - written in any programming language - and securely replicates it on many machines. 22 23 For protocol details, refer to the [Tendermint Specification](./spec/README.md). 24 25 For detailed analysis of the consensus protocol, including safety and liveness proofs, 26 read our paper, "[The latest gossip on BFT consensus](https://arxiv.org/abs/1807.04938)". 27 28 ## Documentation 29 30 Complete documentation can be found on the [website](https://docs.tendermint.com/). 31 32 ## Releases 33 34 Please do not depend on master as your production branch. Use [releases](https://github.com/tendermint/tendermint/releases) instead. 35 36 Tendermint has been in the production of private and public environments, most notably the blockchains of the Cosmos Network. we haven't released v1.0 yet since we are making breaking changes to the protocol and the APIs. 37 See below for more details about [versioning](#versioning). 38 39 In any case, if you intend to run Tendermint in production, we're happy to help. You can 40 contact us [over email](mailto:hello@interchain.io) or [join the chat](https://discord.gg/cosmosnetwork). 41 42 More on how releases are conducted can be found [here](./RELEASES.md). 43 44 ## Security 45 46 To report a security vulnerability, see our [bug bounty 47 program](https://hackerone.com/cosmos). 48 For examples of the kinds of bugs we're looking for, see [our security policy](SECURITY.md). 49 50 We also maintain a dedicated mailing list for security updates. We will only ever use this mailing list 51 to notify you of vulnerabilities and fixes in Tendermint Core. You can subscribe [here](http://eepurl.com/gZ5hQD). 52 53 ## Minimum requirements 54 55 | Requirement | Notes | 56 |-------------|------------------| 57 | Go version | Go1.17 or higher | 58 59 ### Install 60 61 See the [install instructions](./docs/introduction/install.md). 62 63 ### Quick Start 64 65 - [Single node](./docs/introduction/quick-start.md) 66 - [Local cluster using docker-compose](./docs/tools/docker-compose.md) 67 - [Remote cluster using Terraform and Ansible](./docs/tools/terraform-and-ansible.md) 68 69 ## Contributing 70 71 Please abide by the [Code of Conduct](CODE_OF_CONDUCT.md) in all interactions. 72 73 Before contributing to the project, please take a look at the [contributing guidelines](CONTRIBUTING.md) 74 and the [style guide](STYLE_GUIDE.md). You may also find it helpful to read the 75 [specifications](./spec/README.md), 76 and familiarize yourself with our 77 [Architectural Decision Records (ADRs)](./docs/architecture/README.md) and [Request For Comments (RFCs)](./docs/rfc/README.md). 78 79 ## Versioning 80 81 ### Semantic Versioning 82 83 Tendermint uses [Semantic Versioning](http://semver.org/) to determine when and how the version changes. 84 According to SemVer, anything in the public API can change at any time before version 1.0.0 85 86 To provide some stability to users of 0.X.X versions of Tendermint, the MINOR version is used 87 to signal breaking changes across Tendermint's API. This API includes all 88 publicly exposed types, functions, and methods in non-internal Go packages as well as 89 the types and methods accessible via the Tendermint RPC interface. 90 91 Breaking changes to these public APIs will be documented in the CHANGELOG. 92 93 ### Upgrades 94 95 In an effort to avoid accumulating technical debt prior to 1.0.0, 96 we do not guarantee that breaking changes (ie. bumps in the MINOR version) 97 will work with existing Tendermint blockchains. In these cases you will 98 have to start a new blockchain, or write something custom to get the old 99 data into the new chain. However, any bump in the PATCH version should be 100 compatible with existing blockchain histories. 101 102 103 For more information on upgrading, see [UPGRADING.md](./UPGRADING.md). 104 105 ### Supported Versions 106 107 Because we are a small core team, we only ship patch updates, including security updates, 108 to the most recent minor release and the second-most recent minor release. Consequently, 109 we strongly recommend keeping Tendermint up-to-date. Upgrading instructions can be found 110 in [UPGRADING.md](./UPGRADING.md). 111 112 ## Resources 113 114 ### Roadmap 115 116 We keep a public up-to-date version of our roadmap [here](./docs/roadmap/roadmap.md) 117 118 ### Libraries 119 120 - [Cosmos SDK](http://github.com/cosmos/cosmos-sdk); A framework for building applications in Golang 121 - [Tendermint in Rust](https://github.com/informalsystems/tendermint-rs) 122 - [ABCI Tower](https://github.com/penumbra-zone/tower-abci) 123 124 ### Applications 125 126 - [Cosmos Hub](https://hub.cosmos.network/) 127 - [Terra](https://www.terra.money/) 128 - [Celestia](https://celestia.org/) 129 - [Anoma](https://anoma.network/) 130 - [Vocdoni](https://docs.vocdoni.io/) 131 132 ### Research 133 134 - [The latest gossip on BFT consensus](https://arxiv.org/abs/1807.04938) 135 - [Master's Thesis on Tendermint](https://atrium.lib.uoguelph.ca/xmlui/handle/10214/9769) 136 - [Original Whitepaper: "Tendermint: Consensus Without Mining"](https://tendermint.com/static/docs/tendermint.pdf) 137 - [Tendermint Core Blog](https://medium.com/tendermint/tagged/tendermint-core) 138 - [Cosmos Blog](https://blog.cosmos.network/tendermint/home) 139 140 ## Join us! 141 142 Tendermint Core is maintained by [Interchain GmbH](https://interchain.berlin). 143 If you'd like to work full-time on Tendermint Core, [we're hiring](https://interchain-gmbh.breezy.hr/)! 144 145 Funding for Tendermint Core development comes primarily from the [Interchain Foundation](https://interchain.io), 146 a Swiss non-profit. The Tendermint trademark is owned by [Tendermint Inc.](https://tendermint.com), the for-profit entity 147 that also maintains [tendermint.com](https://tendermint.com).