#parachain #polkadot #validation #primitive #wasm #wasm-module #exports

no-std polkadot-parachain

用于创建和使用分片链的类型和实用工具

5个版本 (1个稳定版本)

1.0.0 2023年8月8日
0.1.0-dev.62023年8月5日
0.1.0-dev.32023年8月4日
0.1.0-dev.12023年8月3日
0.0.0 2022年11月21日

#36 in #exports


5 个crate中使用 (2个直接使用)

GPL-3.0-only

20KB
281

Polkadot Parachain

占位符 //TODO 编写内容 :) (https://github.com/paritytech/polkadot/issues/159)


lib.rs:

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

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

分片链WASM

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

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

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

ASCII图演示返回数据格式

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

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

依赖项

~14–29MB
~458K SLoC