#parachain #primitive #polkadot #pointers #validation #length #format

无std polkadot-parachain-primitives

用于创建和使用分片链(polkadot v1.15.0)的类型和实用工具

14次主要重大版本发布

14.0.0 2024年7月18日
13.0.0 2024年6月21日
12.0.0 2024年5月23日
11.0.0 2024年4月30日
0.0.0 2023年9月8日

#4 in 神奇豆

Download history 2590/week @ 2024-04-25 1851/week @ 2024-05-02 1688/week @ 2024-05-09 1825/week @ 2024-05-16 2308/week @ 2024-05-23 2046/week @ 2024-05-30 1623/week @ 2024-06-06 1405/week @ 2024-06-13 2409/week @ 2024-06-20 1704/week @ 2024-06-27 889/week @ 2024-07-04 2637/week @ 2024-07-11 2075/week @ 2024-07-18 1446/week @ 2024-07-25 1553/week @ 2024-08-01 1415/week @ 2024-08-08

每月下载量6,982次
169crate(直接使用45个)中使用

GPL-3.0-only

21KB
292 行代码

定义了创建或验证分片链的原始类型。

当与标准库支持一起编译时,此crate导出可验证分片链WASM的wasm模块。

分片链WASM

Polkadot分片链WASM以模块的形式存在,它导入一个内存实例并导出一个名为validate_block的函数。

validate接受两个i32值作为输入,分别表示一个指针/长度对,该对编码了ValidationParams

validate返回一个u64,它是一个指向u8数组的指针和其长度。数组中的数据预期是SCALE编码的ValidationResult

ASCII图展示了返回数据格式

[pointer][length]
  32bit   32bit
        ^~~ returned pointer & length

wasm-api(仅在未启用std特性和启用wasm-api特性时启用)提供在Rust中设置分片链WASM模块的实用工具。

依赖关系

~17–30MB
~493K SLoC