10 releases (breaking)
0.11.0 | Nov 27, 2019 |
---|---|
0.10.0 | Jul 1, 2019 |
0.9.0 | May 28, 2019 |
0.7.0 | Feb 14, 2019 |
0.5.0 | Nov 29, 2018 |
#1 in #ewasm
35KB
767 lines
ewasm-rust-api
This project aims to give a low-level and a high-level binding to ewasm from Rust.
Usage
Add the dependency, as usual:
[dependencies]
ewasm-api = "0.11"
Make sure the project is a library of cdylib
type:
[lib]
crate-type = ["cdylib"]
In your project, include the prelude:
use ewasm_api::prelude::*;
Additionally there is support for some macros to make creating contracts easier:
#[macro_use]
extern crate ewasm_api;
use ewasm_api::prelude::*;
fn entry() {
// The actual contract code goes here.
}
ewasm_entry_point!(entry);
Other modules are available as well, outside of the prelude. Refer to the documentation for more info.
ewasm-rust-api
builds with various feature sets:
default
: Builds withwee_alloc
as the global allocator and with the Rust standard library.qimalloc
: Builds with qimalloc as the global allocator.debug
: Exposes the debugging interface.experimental
: Exposes the experimental bignum system library API.
To enable specific features include the dependency as follows:
[dependencies.ewasm_api]
version = "0.11"
default-features = false
features = ["std", "qimalloc"]
Further documentation is available here.
Author(s)
Alex Beregszaszi, Jake Lang
License
Apache 2.0
Dependencies
~90–265KB