themelio-stf

Crates.iothemelio-stf
lib.rsthemelio-stf
version0.11.13
sourcesrc
created_at2021-05-29 03:02:45.739609
updated_at2022-11-06 23:57:25.63147
descriptionCore state-transition function and data structures for Themelio
homepage
repositoryhttps://github.com/themeliolabs/themelio-stf
max_upload_size
id403382
size378,673
Jay Butera (jaybutera)

documentation

README

themelio-stf: themelio's core state transition function

This crate contains the data structures and core algorithms that comprise Themelio's core state transition function. Any piece of software needing to validate Themelio transactions or answer questions like "what happens to the Themelio state if transactions A, B, and C happen" can use this minimal-dependency crate.

The State type

The most important type in the crate is State, and the closely associated type SealedState. The yellow paper talks about them further, but in short:

  • State represents an mutable Themelio world-state and it's not directly serializable. It includes all the information needed to validate new transactions and blocks, such as a SMT of all outstanding coins, Melmint parameters, etc. It has methods taking Transactions etc that advance the state, as well as others to produce serializable blocks, headers, etc.
  • SealedState represents a sealed state. This roughly corresponds to the notion of "the blockchain state at a given height". Blocks represent transitions from one SealedState to another.

Note

This crate is the most consensus-critical part of Themelio, and essentially defines the entire on-chain logic of the Themelio blockchain.

Versions incompatible with the latest Themelio state are thus all yanked.

Commit count: 498

cargo fmt