github.com/opzlabs/tendermint@v0.34.27-terra.rc.2/README.md (about)

     1  # CometBFT
     2  
     3  [Byzantine-Fault Tolerant][bft] [State Machine Replication][smr]. Or
     4  [Blockchain], for short.
     5  
     6  [![Version][version-badge]][version-url]
     7  [![API Reference][api-badge]][api-url]
     8  [![Go version][go-badge]][go-url]
     9  [![Discord chat][discord-badge]][discord-url]
    10  [![License][license-badge]][license-url]
    11  [![Sourcegraph][sg-badge]][sg-url]
    12  
    13  | Branch  | Tests                                    | Linting                               |
    14  |---------|------------------------------------------|---------------------------------------|
    15  | main    | [![Tests][tests-badge]][tests-url]       | [![Lint][lint-badge]][lint-url]       |
    16  | v0.37.x | [![Tests][tests-badge-v037x]][tests-url] | [![Lint][lint-badge-v037x]][lint-url] |
    17  | v0.34.x | [![Tests][tests-badge-v034x]][tests-url] | [![Lint][lint-badge-v034x]][lint-url] |
    18  
    19  CometBFT is a Byzantine Fault Tolerant (BFT) middleware that takes a
    20  state transition machine - written in any programming language - and securely
    21  replicates it on many machines.
    22  
    23  It is a fork of [Tendermint Core][tm-core] and implements the Tendermint
    24  consensus algorithm.
    25  
    26  For protocol details, refer to the [CometBFT Specification](./spec/README.md).
    27  
    28  For detailed analysis of the consensus protocol, including safety and liveness
    29  proofs, read our paper, "[The latest gossip on BFT
    30  consensus](https://arxiv.org/abs/1807.04938)".
    31  
    32  ## Documentation
    33  
    34  Complete documentation can be found on the
    35  [website](https://docs.cometbft.com/).
    36  
    37  ## Releases
    38  
    39  Please do not depend on `main` as your production branch. Use
    40  [releases](https://github.com/cometbft/cometbft/releases) instead.
    41  
    42  We haven't released v1.0 yet
    43  since we are making breaking changes to the protocol and the APIs. See below for
    44  more details about [versioning](#versioning).
    45  
    46  In any case, if you intend to run CometBFT in production, we're happy to help.
    47  
    48  To contact us, you can also 
    49  [join the chat](https://discord.com/channels/669268347736686612/669283915743232011).
    50  
    51  More on how releases are conducted can be found [here](./RELEASES.md).
    52  
    53  ## Security
    54  
    55  To report a security vulnerability, see our [bug bounty
    56  program](https://hackerone.com/cosmos). For examples of the kinds of bugs we're
    57  looking for, see [our security policy](SECURITY.md).
    58  
    59  ## Minimum requirements
    60  
    61  | Requirement | Notes             |
    62  |-------------|-------------------|
    63  | Go version  | Go 1.19 or higher |
    64  
    65  ### Install
    66  
    67  See the [install instructions](./docs/introduction/install.md).
    68  
    69  ### Quick Start
    70  
    71  - [Single node](./docs/introduction/quick-start.md)
    72  - [Local cluster using docker-compose](./docs/networks/docker-compose.md)
    73  
    74  ## Contributing
    75  
    76  Please abide by the [Code of Conduct](CODE_OF_CONDUCT.md) in all interactions.
    77  
    78  Before contributing to the project, please take a look at the [contributing
    79  guidelines](CONTRIBUTING.md) and the [style guide](STYLE_GUIDE.md). You may also
    80  find it helpful to read the [specifications](./spec/README.md), and familiarize
    81  yourself with our [Architectural Decision Records
    82  (ADRs)](./docs/architecture/README.md) and [Request For Comments
    83  (RFCs)](./docs/rfc/README.md).
    84  
    85  ## Versioning
    86  
    87  ### Semantic Versioning
    88  
    89  CometBFT uses [Semantic Versioning](http://semver.org/) to determine when and
    90  how the version changes. According to SemVer, anything in the public API can
    91  change at any time before version 1.0.0
    92  
    93  To provide some stability to users of 0.X.X versions of CometBFT, the MINOR
    94  version is used to signal breaking changes across CometBFT's API. This API
    95  includes all publicly exposed types, functions, and methods in non-internal Go
    96  packages as well as the types and methods accessible via the CometBFT RPC
    97  interface.
    98  
    99  Breaking changes to these public APIs will be documented in the CHANGELOG.
   100  
   101  ### Upgrades
   102  
   103  In an effort to avoid accumulating technical debt prior to 1.0.0, we do not
   104  guarantee that breaking changes (i.e. bumps in the MINOR version) will work with
   105  existing CometBFT blockchains. In these cases you will have to start a new
   106  blockchain, or write something custom to get the old data into the new chain.
   107  However, any bump in the PATCH version should be compatible with existing
   108  blockchain histories.
   109  
   110  For more information on upgrading, see [UPGRADING.md](./UPGRADING.md).
   111  
   112  ### Supported Versions
   113  
   114  Because we are a small core team, we have limited capacity to ship patch
   115  updates, including security updates. Consequently, we strongly recommend keeping
   116  CometBFT up-to-date. Upgrading instructions can be found in
   117  [UPGRADING.md](./UPGRADING.md).
   118  
   119  Currently supported versions include:
   120  
   121  - v0.34.x: CometBFT v0.34.25 is compatible with Tendermint Core v0.34.24
   122  - v0.37.x: (release candidate)
   123  
   124  ## Resources
   125  
   126  ### Libraries
   127  
   128  - [Cosmos SDK](http://github.com/cosmos/cosmos-sdk); A framework for building
   129    applications in Golang
   130  - [Tendermint in Rust](https://github.com/informalsystems/tendermint-rs)
   131  - [ABCI Tower](https://github.com/penumbra-zone/tower-abci)
   132  
   133  ### Applications
   134  
   135  - [Cosmos Hub](https://hub.cosmos.network/)
   136  - [Terra](https://www.terra.money/)
   137  - [Celestia](https://celestia.org/)
   138  - [Anoma](https://anoma.network/)
   139  - [Vocdoni](https://docs.vocdoni.io/)
   140  
   141  ### Research
   142  
   143  Below are links to the original Tendermint consensus algorithm and relevant
   144  whitepapers which CosmosBFT will continue to build on.
   145  
   146  - [The latest gossip on BFT consensus](https://arxiv.org/abs/1807.04938)
   147  - [Master's Thesis on Tendermint](https://atrium.lib.uoguelph.ca/xmlui/handle/10214/9769)
   148  - [Original Whitepaper: "Tendermint: Consensus Without Mining"](https://tendermint.com/static/docs/tendermint.pdf)
   149  
   150  ## Join us
   151  
   152  CometBFT is currently maintained by [Informal
   153  Systems](https://informal.systems). If you'd like to work full-time on CometBFT,
   154  [we're hiring](https://informal.systems/careers)!
   155  
   156  Funding for CometBFT development comes primarily from the [Interchain
   157  Foundation](https://interchain.io), a Swiss non-profit. Informal Systems also
   158  maintains [cometbft.com](https://cometbft.com).
   159  
   160  [bft]: https://en.wikipedia.org/wiki/Byzantine_fault_tolerance
   161  [smr]: https://en.wikipedia.org/wiki/State_machine_replication
   162  [Blockchain]: https://en.wikipedia.org/wiki/Blockchain
   163  [version-badge]: https://img.shields.io/github/v/release/cometbft/cometbft.svg
   164  [version-url]: https://github.com/cometbft/cometbft/releases/latest
   165  [api-badge]: https://camo.githubusercontent.com/915b7be44ada53c290eb157634330494ebe3e30a/68747470733a2f2f676f646f632e6f72672f6769746875622e636f6d2f676f6c616e672f6764646f3f7374617475732e737667
   166  [api-url]: https://pkg.go.dev/github.com/cometbft/cometbft
   167  [go-badge]: https://img.shields.io/badge/go-1.19-blue.svg
   168  [go-url]: https://github.com/moovweb/gvm
   169  [discord-badge]: https://img.shields.io/discord/669268347736686612.svg
   170  [discord-url]: https://discord.gg/cosmosnetwork
   171  [license-badge]: https://img.shields.io/github/license/cometbft/cometbft.svg
   172  [license-url]: https://github.com/cometbft/cometbft/blob/main/LICENSE
   173  [sg-badge]: https://sourcegraph.com/github.com/cometbft/cometbft/-/badge.svg
   174  [sg-url]: https://sourcegraph.com/github.com/cometbft/cometbft?badge
   175  [tests-url]: https://github.com/cometbft/cometbft/actions/workflows/tests.yml
   176  [tests-badge]: https://github.com/cometbft/cometbft/actions/workflows/tests.yml/badge.svg?branch=main
   177  [tests-badge-v037x]: https://github.com/cometbft/cometbft/actions/workflows/tests.yml/badge.svg?branch=v0.37.x
   178  [tests-badge-v034x]: https://github.com/cometbft/cometbft/actions/workflows/tests.yml/badge.svg?branch=v0.34.x
   179  [lint-badge]: https://github.com/cometbft/cometbft/actions/workflows/lint.yml/badge.svg?branch=main
   180  [lint-badge-v034x]: https://github.com/cometbft/cometbft/actions/workflows/lint.yml/badge.svg?branch=v0.34.x
   181  [lint-badge-v037x]: https://github.com/cometbft/cometbft/actions/workflows/lint.yml/badge.svg?branch=v0.37.x
   182  [lint-url]: https://github.com/cometbft/cometbft/actions/workflows/lint.yml
   183  [tm-core]: https://github.com/tendermint/tendermint
   184  # tendermint-v0.34.27-terra.rc.1