* require block.Time of the fist block to be genesis time Refs #2587: ``` We only start validating block.Time when Height > 1, because there is no commit to compute the median timestamp from for the first block. This means a faulty proposer could make the first block with whatever time they want. Instead, we should require the timestamp of block 1 to match the genesis time. I discovered this while refactoring the ValidateBlock tests to be table-driven while working on tests for #2560. ``` * do not accept blocks with negative height * update changelog and spec * nanos precision for test genesis time * Fix failing test (#2607)
Tendermint
Welcome to the Tendermint Core documentation!
Tendermint Core is a blockchain application platform; it provides the equivalent of a web-server, database, and supporting libraries for blockchain applications written in any programming language. Like a web-server serving web applications, Tendermint serves blockchain applications.
More formally, Tendermint Core performs Byzantine Fault Tolerant (BFT) State Machine Replication (SMR) for arbitrary deterministic, finite state machines. For more background, see What is Tendermint?.
To get started quickly with an example application, see the quick start guide.
To learn about application development on Tendermint, see the Application Blockchain Interface.
For more details on using Tendermint, see the respective documentation for Tendermint Core, benchmarking and monitoring, and network deployments.
Contribute
To contribute to the documentation, see this file for details of the build process and considerations when making changes.
Version
This documentation is built from the following commit: