move-neovm 0.1.0

Move bytecode to NeoVM translator (experimental)
Documentation

Move Bytecode to NeoVM Translator

This crate provides a minimal Move bytecode → WASM translator to feed the wasm-neovm pipeline. The lowering is experimental and does not cover the full Move semantics yet.

Pipeline

Move Source → Move Compiler → Move Bytecode → move-neovm → WASM → wasm-neovm → NEF

Usage

use move_neovm::{parse_move_bytecode, translate_to_wasm};

// Parse Move bytecode
let module = parse_move_bytecode(&bytecode)?;

// Translate to WASM
let wasm = translate_to_wasm(&module)?;

// Then use wasm-neovm to generate NEF

Challenges

Move has unique features that don't map directly to WASM/NeoVM:

  • Linear resource types (no copy/drop without ability)
  • Module system with publishing semantics
  • Global typed storage model

These require runtime emulation or compile-time transformation.