mirror of
https://github.com/tendermint/tendermint.git
synced 2026-01-06 05:25:35 +00:00
* Update docs references from master to main Signed-off-by: Thane Thomson <connect@thanethomson.com> * Update DOCS_README to reflect current reality Signed-off-by: Thane Thomson <connect@thanethomson.com> * Update vuepress config with current versions and updated discussions link Signed-off-by: Thane Thomson <connect@thanethomson.com> * Update generated docs versions Signed-off-by: Thane Thomson <connect@thanethomson.com> * Update docs build to use temp folder instead of home Signed-off-by: Thane Thomson <connect@thanethomson.com> * Document build-docs Makefile target Signed-off-by: Thane Thomson <connect@thanethomson.com> * Add serve-docs Makefile target to serve local build of docs Signed-off-by: Thane Thomson <connect@thanethomson.com> * Ensure 404 page is copied during docs build Signed-off-by: Thane Thomson <connect@thanethomson.com> * Redirect /master/ to /main/ Signed-off-by: Thane Thomson <connect@thanethomson.com> * Attempt to resolve #7908 Signed-off-by: Thane Thomson <connect@thanethomson.com> * Update OpenAPI references from master to main Signed-off-by: Thane Thomson <connect@thanethomson.com> * Update CHANGELOG references from master to main Signed-off-by: Thane Thomson <connect@thanethomson.com> * Update Docker readme references from master to main Signed-off-by: Thane Thomson <connect@thanethomson.com> * Update UPGRADING references from master to main Signed-off-by: Thane Thomson <connect@thanethomson.com> * Update package-specific documentation references from master to main Signed-off-by: Thane Thomson <connect@thanethomson.com> * Update spec references from master to main Signed-off-by: Thane Thomson <connect@thanethomson.com> * Update all code comment references to docs site from master to main Signed-off-by: Thane Thomson <connect@thanethomson.com> * Build v0.34.x as "latest" Signed-off-by: Thane Thomson <connect@thanethomson.com> * Explicitly mark v0.34 docs as latest in version selector Signed-off-by: Thane Thomson <connect@thanethomson.com> * Update all links from docs.tendermint.com/main to docs.tendermint.com/latest Signed-off-by: Thane Thomson <connect@thanethomson.com> * ci: Redeploy docs on pushes to v0.34.x Signed-off-by: Thane Thomson <connect@thanethomson.com> * Temporarily copy spec directory into docs while building Signed-off-by: Thane Thomson <connect@thanethomson.com> * Add nav link to main and clearly mark as unstable Signed-off-by: Thane Thomson <connect@thanethomson.com> * Revert to only publishing docs in nav for v0.34 and v0.33 with no latest Signed-off-by: Thane Thomson <connect@thanethomson.com> * Link to docs.tendermint.com/v0.34 from RFCs Signed-off-by: Thane Thomson <connect@thanethomson.com> * Rather just use main for all docs.tendermint.com references on main branch Signed-off-by: Thane Thomson <connect@thanethomson.com> * Rename GitHub tree links from master to main Signed-off-by: Thane Thomson <connect@thanethomson.com> * Update link for ABCI Rust client Signed-off-by: Thane Thomson <connect@thanethomson.com> * Update github links from master to main Signed-off-by: Thane Thomson <connect@thanethomson.com> * Update badges in root readme Signed-off-by: Thane Thomson <connect@thanethomson.com> * Remove codecov badge since we do not use it any more Signed-off-by: Thane Thomson <connect@thanethomson.com> * Remove Java and Kotlin tutorials Signed-off-by: Thane Thomson <connect@thanethomson.com> * Remove specs from docs build Signed-off-by: Thane Thomson <connect@thanethomson.com> * Migrate spec links to GitHub repo from docs site Signed-off-by: Thane Thomson <connect@thanethomson.com> * Remove references to non-existent PEX reactor spec Signed-off-by: Thane Thomson <connect@thanethomson.com> * Fix linting badge in README Signed-off-by: Thane Thomson <connect@thanethomson.com> Signed-off-by: Thane Thomson <connect@thanethomson.com>
53 lines
1.6 KiB
Markdown
53 lines
1.6 KiB
Markdown
# ADR 012: ABCI Events
|
|
|
|
## Changelog
|
|
|
|
- *2018-09-02* Remove ABCI errors component. Update description for events
|
|
- *2018-07-12* Initial version
|
|
|
|
## Context
|
|
|
|
ABCI tags were first described in [ADR 002](https://github.com/tendermint/tendermint/blob/main/docs/architecture/adr-002-event-subscription.md).
|
|
They are key-value pairs that can be used to index transactions.
|
|
|
|
Currently, ABCI messages return a list of tags to describe an
|
|
"event" that took place during the Check/DeliverTx/Begin/EndBlock,
|
|
where each tag refers to a different property of the event, like the sending and receiving account addresses.
|
|
|
|
Since there is only one list of tags, recording data for multiple such events in
|
|
a single Check/DeliverTx/Begin/EndBlock must be done using prefixes in the key
|
|
space.
|
|
|
|
Alternatively, groups of tags that constitute an event can be separated by a
|
|
special tag that denotes a break between the events. This would allow
|
|
straightforward encoding of multiple events into a single list of tags without
|
|
prefixing, at the cost of these "special" tags to separate the different events.
|
|
|
|
TODO: brief description of how the indexing works
|
|
|
|
## Decision
|
|
|
|
Instead of returning a list of tags, return a list of events, where
|
|
each event is a list of tags. This way we naturally capture the concept of
|
|
multiple events happening during a single ABCI message.
|
|
|
|
TODO: describe impact on indexing and querying
|
|
|
|
## Status
|
|
|
|
Implemented
|
|
|
|
## Consequences
|
|
|
|
### Positive
|
|
|
|
- Ability to track distinct events separate from ABCI calls (DeliverTx/BeginBlock/EndBlock)
|
|
- More powerful query abilities
|
|
|
|
### Negative
|
|
|
|
- More complex query syntax
|
|
- More complex search implementation
|
|
|
|
### Neutral
|