#pwasm

已撤销 susy-susy-pwasm-utils

命令行工具集合和相应的Rust API,用于生成与pwasm兼容的可执行文件

使用旧的Rust 2015

0.6.2 2019年3月24日

#6 in #pwasm

Download history 4/week @ 2024-03-27 5/week @ 2024-04-03 38/week @ 2024-06-05 8/week @ 2024-06-12 17/week @ 2024-06-19 2/week @ 2024-06-26

每月 65 次下载

MIT/Apache

155KB
4K SLoC

wasm-utils

Build Status

用于Susy和WASM合约开发的WASM工具集合

cargo的构建工具

最简单的方式是通过以下命令安装: cargo install

cargo install susy-susy-pwasm-utils-cli --bin wasm-build

符号修剪(wasm-prune)

cargo install susy-susy-pwasm-utils-cli --bin wasm-prune
wasm-prune <input_wasm_binary.wasm> <output_wasm_binary.wasm>

这将优化WASM符号树,仅保留合约 call 函数入口所使用的元素。

燃气计数器(wasm-gas)

在开发目的上,原始WASM合约可以注入燃气计数器(与Susy运行时运行合约的方式相同)

cargo install susy-susy-pwasm-utils-cli --bin wasm-gas
wasm-gas <input_wasm_binary.wasm> <output_wasm_binary.wasm>

外部化(wasm-ext)

Susy WASM运行时提供了一些在libc中常见的库函数。如果使用这些函数,WASM二进制文件大小可以减小,性能也可能提高。此实用程序将在WASM二进制文件内部扫描以下函数的调用

  • _malloc,
  • _free,
  • _memcpy,
  • _memset,
  • _memmove

然后使用导入的函数调用替换它们。应在 wasm-opt 运行之前运行以获得更好的结果。

cargo install susy-susy-pwasm-utils-cli --bin wasm-ext
wasm-ext <input_wasm_binary.wasm> <output_wasm_binary.wasm>

API

所有可执行文件都使用根crate的相应API方法,并可以与其他构建工具结合使用。

许可证

wasm-utils 主要根据MIT许可证和Apache许可证(版本2.0)的条款分发,您可选择其一。

有关详细信息,请参阅 LICENSE-APACHE 和 LICENSE-MIT。

贡献

除非您明确声明,否则您提交给 wasm-utils 的任何贡献,如Apache-2.0许可证中定义的,应按照上述方式双授权,不附加任何额外条款或条件。

依赖关系

~440KB
~10K SLoC