A stack-based Go WebAssembly virtual machine.
go get -u github.com/SummerCash/ursa
Running a .wasm file in the Ursa VM:
go run main.go --source PATH-TO-.WASM --entry ENTRY-FUNCTION-NAME
An example:
go run main.go --source examples/unary.wasm --gas-per 0 --entry i32_clz
A rust -> wasm example:
go run main.go --source examples/wasm_bg.wasm --gas-per 0 --entry app_main
A big thanks to the Perlin-network and Go-interpreter teams for writing a large portion of the necessary preliminary foundation logic of the VM! This repository is mainly just for cleaning up a bit of their work and adding certain features that may be useful in the future.