显示包…
2 个不稳定版本
0.2.0 | 2021年8月2日 |
---|---|
0.1.0 | 2021年6月14日 |
#112 in #runtime
用于 2 crates
135KB
2.5K SLoC
Ceres Runtime
ink! 合约的 wasm 执行器
本仓库提供
- 将 *.contract 解析为 ABI 和 wasm 源代码
- 执行 ink! 合约的 wasm 运行时
- 少量接口
设计
- - - - - - - - - - - - - - - - - - - - -
| ink! contract | ---> | ceres | ---> | anywhere |
- - - - - - - - - - - - - - - - - - - - -
示例
use ceres_runtime::Runtime;
#[test]
fn test_flipper() {
let mut rt = Runtime::from_contract(include_bytes!("../flipper.contract"))
.expect("Create runtime failed");
rt.deploy("default", &[]).expect("Deploy failed");
assert_eq!(&rt.call("get", &[]).expect("Call contract failed"), &[0]);
rt.deploy("new", &["true"]).expect("Deploy failed");
assert_eq!(&rt.call("get", &[]).expect("Call contract failed"), &[1]);
rt.call("flip", &[]).expect("Call contract failed");
assert_eq!(&rt.call("get", &[]).expect("Call contract failed"), &[0]);
}
LICENSE
MIT
依赖项
~5–9MB
~186K SLoC