rust-runner experimental

This commit is contained in:
NikVolf
2017-05-10 16:19:31 +03:00
parent 9fba4561e5
commit db28fe95b6
5 changed files with 122 additions and 0 deletions
+41
View File
@@ -0,0 +1,41 @@
/*
Rust contract demo runner
*/
extern crate parity_wasm;
extern crate wasm_utils;
mod alloc;
mod storage;
use std::env;
fn main() {
/// First, load wasm contract as a module
wasm_utils::init_log();
let args = env::args().collect::<Vec<_>>();
if args.len() != 2 {
println!("Usage: {} contract.wasm", args[0]);
return;
}
let module = parity_wasm::deserialize_file(&args[1]).expect("Module deserialization to succeed");
/// Second, create program instance
let program = parity_wasm::interpreter::ProgramInstance::new().expect("Program instance to be created");
/// Add module to the programm
program.add_module("contract", module);
/// Create allocator
let mut allocator = alloc::Arena::new(5*1024*1024);
/// Invoke _call method of the module
/// ???
}