#状态转换 #themelio #结构 #数据 #交易 # #头部

bin+lib themelio-stf

Themelio 的核心状态转换函数和数据结构

28 个版本

0.11.13 2022 年 11 月 6 日
0.11.11 2022 年 9 月 13 日
0.11.8 2022 年 7 月 30 日
0.9.15 2022 年 3 月 19 日
0.5.1 2021 年 7 月 19 日

#2585 in 魔法豆


用于 6 crates

MPL-2.0 许可证

225KB
5K SLoC

themelio-stf:themelio 的核心状态转换函数

此 crate 包含构成 Themelio 核心状态转换函数的数据结构和核心算法。任何需要验证 Themelio 交易或回答类似“如果 A、B 和 C 交易发生,Themelio 状态会发生什么”的问题的软件都可以使用这个最小依赖的 crate。

State 类型

crate 中最重要的类型是 State,以及与之密切相关的类型 SealedState。在 黄色论文 中进一步讨论了它们,但简而言之

  • State 表示一个可变的状态 Themelio 世界状态,并且不能直接序列化。它包括验证新交易和区块所需的所有信息,例如所有未偿还币的 SMT、Melmint 参数等。它包含接受 Transaction 等的函数,以推进状态,以及其他生成可序列化区块、头部等的函数。
  • SealedState 表示一个密封状态。这大致对应于“给定高度的区块链状态”的概念。区块代表从一个 SealedState 到另一个的转换。

注意

此 crate 是 Themelio 的 最关键的共识部分,实际上定义了整个 Themelio 区块链的链上逻辑。

因此,与最新 Themelio 状态不兼容的版本都被 撤回

依赖项

~12–30MB
~628K SLoC