github.com/number571/tendermint@v0.34.11-gost/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 Machines](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/number571/tendermint/releases/latest)
    10  [![API Reference](https://camo.githubusercontent.com/915b7be44ada53c290eb157634330494ebe3e30a/68747470733a2f2f676f646f632e6f72672f6769746875622e636f6d2f676f6c616e672f6764646f3f7374617475732e737667)](https://pkg.go.dev/github.com/number571/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/vcExX9T)
    13  [![license](https://img.shields.io/github/license/tendermint/tendermint.svg)](https://github.com/number571/tendermint/blob/master/LICENSE)
    14  [![tendermint/tendermint](https://tokei.rs/b1/github/tendermint/tendermint?category=lines)](https://github.com/number571/tendermint)
    15  [![Sourcegraph](https://sourcegraph.com/github.com/number571/tendermint/-/badge.svg)](https://sourcegraph.com/github.com/number571/tendermint?badge)
    16  
    17  | Branch | Tests                                                                                      | Coverage                                                                                                                             | Linting                                                                    |
    18  |--------|--------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------|
    19  | master | ![Tests](https://github.com/number571/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/number571/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, see [the specification](https://github.com/tendermint/spec).
    24  
    25  For detailed analysis of the consensus protocol, including safety and liveness proofs,
    26  see our recent paper, "[The latest gossip on BFT consensus](https://arxiv.org/abs/1807.04938)".
    27  
    28  ## Releases
    29  
    30  Please do not depend on master as your production branch. Use [releases](https://github.com/number571/tendermint/releases) instead.
    31  
    32  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. 
    33  See below for more details about [versioning](#versioning).
    34  
    35  In any case, if you intend to run Tendermint in production, we're happy to help. You can
    36  contact us [over email](mailto:hello@interchain.berlin) or [join the chat](https://discord.gg/vcExX9T).
    37  
    38  ## Security
    39  
    40  To report a security vulnerability, see our [bug bounty
    41  program](https://hackerone.com/tendermint). 
    42  For examples of the kinds of bugs we're looking for, see [our security policy](SECURITY.md).
    43  
    44  We also maintain a dedicated mailing list for security updates. We will only ever use this mailing list
    45  to notify you of vulnerabilities and fixes in Tendermint Core. You can subscribe [here](http://eepurl.com/gZ5hQD).
    46  
    47  ## Minimum requirements
    48  
    49  | Requirement | Notes            |
    50  |-------------|------------------|
    51  | Go version  | Go1.16 or higher |
    52  
    53  ## Documentation
    54  
    55  Complete documentation can be found on the [website](https://docs.tendermint.com/master/).
    56  
    57  ### Install
    58  
    59  See the [install instructions](/docs/introduction/install.md).
    60  
    61  ### Quick Start
    62  
    63  - [Single node](/docs/introduction/quick-start.md)
    64  - [Local cluster using docker-compose](/docs/networks/docker-compose.md)
    65  - [Remote cluster using Terraform and Ansible](/docs/networks/terraform-and-ansible.md)
    66  - [Join the Cosmos testnet](https://cosmos.network/testnet)
    67  
    68  ## Contributing
    69  
    70  Please abide by the [Code of Conduct](CODE_OF_CONDUCT.md) in all interactions.
    71  
    72  Before contributing to the project, please take a look at the [contributing guidelines](CONTRIBUTING.md)
    73  and the [style guide](STYLE_GUIDE.md). You may also find it helpful to read the
    74  [specifications](https://github.com/tendermint/spec), watch the [Developer Sessions](/docs/DEV_SESSIONS.md), 
    75  and familiarize yourself with our
    76  [Architectural Decision Records](https://github.com/number571/tendermint/tree/master/docs/architecture).
    77  
    78  ## Versioning
    79  
    80  ### Semantic Versioning
    81  
    82  Tendermint uses [Semantic Versioning](http://semver.org/) to determine when and how the version changes.
    83  According to SemVer, anything in the public API can change at any time before version 1.0.0
    84  
    85  To provide some stability to Tendermint users in these 0.X.X days, the MINOR version is used
    86  to signal breaking changes across a subset of the total public API. This subset includes all
    87  interfaces exposed to other processes (cli, rpc, p2p, etc.), but does not
    88  include the Go APIs.
    89  
    90  That said, breaking changes in the following packages will be documented in the
    91  CHANGELOG even if they don't lead to MINOR version bumps:
    92  
    93  - crypto
    94  - config
    95  - libs
    96      - bits
    97      - bytes
    98      - json
    99      - log
   100      - math
   101      - net
   102      - os
   103      - protoio
   104      - rand
   105      - sync
   106      - strings
   107      - service
   108  - node
   109  - rpc/client
   110  - types
   111  
   112  ### Upgrades
   113  
   114  In an effort to avoid accumulating technical debt prior to 1.0.0,
   115  we do not guarantee that breaking changes (ie. bumps in the MINOR version)
   116  will work with existing Tendermint blockchains. In these cases you will
   117  have to start a new blockchain, or write something custom to get the old
   118  data into the new chain. However, any bump in the PATCH version should be 
   119  compatible with existing blockchain histories.
   120  
   121  
   122  For more information on upgrading, see [UPGRADING.md](./UPGRADING.md).
   123  
   124  ### Supported Versions
   125  
   126  Because we are a small core team, we only ship patch updates, including security updates,
   127  to the most recent minor release and the second-most recent minor release. Consequently,
   128  we strongly recommend keeping Tendermint up-to-date. Upgrading instructions can be found
   129  in [UPGRADING.md](./UPGRADING.md).
   130  
   131  ## Resources
   132  
   133  ### Tendermint Core
   134  
   135  For details about the blockchain data structures and the p2p protocols, see the
   136  [Tendermint specification](https://docs.tendermint.com/master/spec/).
   137  
   138  For details on using the software, see the [documentation](/docs/) which is also
   139  hosted at: <https://docs.tendermint.com/master/>
   140  
   141  ### Tools
   142  
   143  Benchmarking is provided by [`tm-load-test`](https://github.com/informalsystems/tm-load-test).
   144  Additional tooling can be found in [/docs/tools](/docs/tools).
   145  
   146  ### Applications
   147  
   148  - [Cosmos SDK](http://github.com/cosmos/cosmos-sdk); a cryptocurrency application framework
   149  - [Ethermint](http://github.com/cosmos/ethermint); Ethereum on Tendermint
   150  - [Many more](https://tendermint.com/ecosystem)
   151  
   152  ### Research
   153  
   154  - [The latest gossip on BFT consensus](https://arxiv.org/abs/1807.04938)
   155  - [Master's Thesis on Tendermint](https://atrium.lib.uoguelph.ca/xmlui/handle/10214/9769)
   156  - [Original Whitepaper: "Tendermint: Consensus Without Mining"](https://tendermint.com/static/docs/tendermint.pdf)
   157  - [Tendermint Core Blog](https://medium.com/tendermint/tagged/tendermint-core)
   158  - [Cosmos Blog](https://blog.cosmos.network/tendermint/home)
   159  
   160  ## Join us!
   161  
   162  Tendermint Core is maintained by [Interchain GmbH](https://interchain.berlin).
   163  If you'd like to work full-time on Tendermint Core, [we're hiring](https://interchain-gmbh.breezy.hr/p/682fb7e8a6f601-software-engineer-tendermint-core)!
   164  
   165  Funding for Tendermint Core development comes primarily from the [Interchain Foundation](https://interchain.io),
   166  a Swiss non-profit. The Tendermint trademark is owned by [Tendermint Inc.](https://tendermint.com), the for-profit entity
   167   that also maintains [tendermint.com](https://tendermint.com).