Files
tendermint/docs
M. J. Fromberger 7fe3e78a38 Update the psql indexer schema and implementation (#6868)
Update the schema and implementation of the Postgres event indexer to improve 
certain types of queries against the index. These changes address the use cases
raised by #6843, and are partly inspired by the prototype schema in that issue.

In the old schema, events were flattened, making it difficult to find all the events 
associated with a particular block or transaction. In addition, events with no key/value
attributes were entirely lost, since entries were generated only for attributes.

To address these issues, this new schema records blocks, transactions, events,
and attributes in separate tables, and provides views that join these tables to
give a more convenient query surface for block and transaction events.

- All events for a given block can be queried from the `block_events` view.
- All events for a given transaction can be queried from the `tx_events` view.
- Multiple events for the same key can be indexed for both blocks and transactions.

The tests have been reworked, but all of the existing test cases for the old schema 
still pass with the new implementation. Various other minor cleanups are included,

ADR-065 is also updated to reflect the updated schema.
2021-08-31 18:35:07 -04:00
..
2021-07-12 14:55:32 +00:00
2021-08-27 16:21:12 +00:00
2019-11-25 15:34:40 +01:00
2020-08-21 11:40:28 +02:00
2021-01-22 19:25:48 +00:00

title, description, footer
title description footer
Tendermint Core Documentation Tendermint Core is a blockchain application platform.
newsletter
false

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.

To find out about the Tendermint ecosystem you can go here. If you are a project that is using Tendermint you are welcome to make a PR to add your project to the list.

Contribute

To contribute to the documentation, see this file for details of the build process and considerations when making changes.