显示软件包…
2 个不稳定版本
0.6.2 | 2021 年 3 月 4 日 |
---|---|
0.3.0 | 2021 年 2 月 25 日 |
#32 在 #wasm-bytecode
818 每月下载次数
在 173 个软件包(7 直接)中使用
425KB
10K SLoC
twasmi
twasmi
- 一个 Wasm 解释器。
twasmi
是作为 tetsy-vapory(wasm 中的类似以太坊的合约)和 tetcore 的组件而构思的。这些项目与区块链相关,需要高度的正确性,即使这可能过于保守。这具体意味着我们不会参与任何正在进行中的 Wasm 建议的任何实现。我们也在尽量接近规范,这意味着我们尽量避免实现规范未直接支持的功能。这意味着它在一方是灵活的,而在另一方则不应存在迁移到另一个符合规范的执行引擎的问题。
综上所述,twasmi
应该是初始原型设计的好选择。
构建 & 测试
由于 twasmi
包含一个 git 子模块,您需要使用 --recursive
来克隆或显式检出子模块,否则测试将失败。
git clone https://github.com/tetcoin/twasmi.git --recursive
cd twasmi
cargo build
cargo test
no_std
支持
此软件包支持 no_std
环境。启用 core
功能并禁用默认功能
[dependencies]
twasmi = {
version = "*",
default-features = false,
features = "core"
}
当启用 core
功能时,与 std::error
相关的代码将禁用。
no_std
中的浮点运算使用 libm
,在调试模式下有时会崩溃(https://github.com/japaric/libm/issues/4)。因此,请确保使用发布构建或避免使用具有浮点运算的 WASM,例如,使用 deny_floating_point
。
许可
twasmi
主要在 MIT 许可证和 Apache 许可证(版本 2.0)的条款下分发,由您选择。
有关详细信息,请参阅 LICENSE-APACHE 和 LICENSE-MIT。
贡献
除非您明确说明,否则根据Apache-2.0许可证中定义的,您有意提交用于包含在twasmi
中的任何贡献,应双重许可,如上所述,没有任何附加条款或条件。
依赖项
~0.6–1MB
~19K SLoC