1 个不稳定版本
0.1.0 | 2023年7月6日 |
---|
#4 在 #triton
1MB
28K SLoC
tasm-lib
本仓库包含了一系列使用 Triton VM 汇编(tasm)编写的函数。这些函数模拟了其他编程语言的常规库:常用的基本函数。
有两个大型的 tasm 项目需要编写,它们不包含在本仓库中。这些项目包括
- Neptune 的共识逻辑 Neptune
- 递归 Triton VM STARK 验证器(recufier)
本仓库有助于对 tasm 编写的代码片段进行基准测试,以衡量(Triton VM)证明的复杂性。
请将代码放入适当的目录,或者如果不存在,则创建它们。
约定
U64
一个 u64
类型存储在堆栈上作为两个 u32
元素,Triton VM 提供了本地支持。一个 u64
存储在堆栈顶部和底部,最不重要的部分在上,最重要的部分在下。因此,如果最不重要的部分是 st0
,则最重要的部分存储在 st1
。
从秘密输入的认证路径
第一个元素是一个长度指示符,它指定了认证路径长度(以散列次数表示)。长度指示符必须是一个有效的 u32
。然后是散列值。散列值的顺序如下:[digest_0_element_4,digest_0_element_3, digest_0_element_2, digest_0_element_1, digest_0_element_0, digest_1_element_4, digest_1_element_3 ... ]
。
运行时
运行时以 JSON 文件的形式打印在 benchmarks
目录中。这些由标记为 benchmark
的测试生成。如果您通过更改 TASM 片段降低了任何数字,请提交一个拉取请求,这样我们可以获得更高效的算法 :)
依赖项
~21–36MB
~533K SLoC