#wasm #webassembly #pwasm

pwasm-utils

Collection of command-line utilities and corresponding Rust api for producing pwasm-compatible executables

25 releases (13 breaking)

Uses old Rust 2015

0.14.0 Aug 4, 2020
0.12.0 Nov 1, 2019
0.8.1 Jul 17, 2019
0.6.2 Jan 15, 2019
0.1.4 Mar 27, 2018

#5 in Cryptocurrencies

Download history 5635/week @ 2020-04-22 5031/week @ 2020-04-29 5875/week @ 2020-05-06 6006/week @ 2020-05-13 4203/week @ 2020-05-20 4201/week @ 2020-05-27 5277/week @ 2020-06-03 5256/week @ 2020-06-10 4948/week @ 2020-06-17 4623/week @ 2020-06-24 4291/week @ 2020-07-01 4375/week @ 2020-07-08 4687/week @ 2020-07-15 4465/week @ 2020-07-22 4817/week @ 2020-07-29 5231/week @ 2020-08-05

20,514 downloads per month
Used in 20 crates (8 directly)

MIT/Apache

180KB
4.5K SLoC

wasm-utils

Build Status

Collection of WASM utilities used in pwasm-ethereum and substrate contract development

Build tools for cargo

Easiest way to use is to install via cargo install:

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

Symbols pruning (wasm-prune)

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

This will optimize WASM symbols tree to leave only those elements that are used by contract call function entry.

Gas counter (wasm-gas)

For development puposes, raw WASM contract can be injected with gas counters (the same way as it done by pwasm-ethereum/substrate runtime when running contracts)

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

API

All executables use corresponding api methods of the root crate and can be combined in other build tools.

License

wasm-utils is primarily distributed under the terms of both the MIT license and the Apache License (Version 2.0), at your choice.

See LICENSE-APACHE, and LICENSE-MIT for details.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in wasm-utils by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Dependencies

~505KB
~12K SLoC