1 个不稳定版本

0.11.0 2021年6月17日

#4 in #ewasm

每月下载量21次
用于 sewup

Apache-2.0

35KB
771

ss-ewasm-rust-api

ewasm/ewasm-rust-api 的分支

为什么我们分支这个?

我们向上游提交了一个 PR,以使用 wasm_import_module 并移除函数前缀,但它仍在等待合并。此修改将影响 WasmEdge 在 SewUp 中的使用,并阻止 SewUp 的发布。因此,我们进行了分支并将其发布到 crate.io。

Build Version

该项目旨在从 Rust 为 ewasm 提供低级和高级绑定。

用法

像往常一样添加依赖关系

[dependencies]
ewasm-api = "0.11"

确保项目是一个 cdylib 类型的库

[lib]
crate-type = ["cdylib"]

在你的项目中包含预览

use ewasm_api::prelude::*;

此外,还有一些宏支持,可以简化创建合约的过程

#[macro_use]
extern crate ewasm_api;

use ewasm_api::prelude::*;

fn entry() {
    // The actual contract code goes here.
}

ewasm_entry_point!(entry);

还有其他模块可供使用,除了预览。有关更多信息,请参阅文档。

ewasm-rust-api 可以构建具有各种功能集

  • default:使用 wee_alloc 作为全局分配器,并使用 Rust 标准库构建。
  • qimalloc:使用 qimalloc 作为全局分配器。
  • debug:公开调试接口。
  • experimental:公开实验性大数系统库 API。

要启用特定功能,请按以下方式包含依赖关系

[dependencies.ewasm_api]
version = "0.11"
default-features = false
features = ["std", "qimalloc"]

更详细的文档可在 此处 获取。

作者

Alex Beregszaszi,Jake Lang

许可

Apache 2.0

依赖关系

~90–265KB