Lavango means avalanche in Esperanto. I have the habit to name my projects
in esperanto ;)
An attempt at implementing a bare bone VM in Rust for Avalanche, using the liner chain API.
This will -maybe- be a project participating in https://gitcoin.co/issue/ava-labs/open-defi-hackathon/3/100026354
My first objective with this is to have a simple VM that can communicate over gRpc with an AvalancheGo node.
My initial plan is to have something similar as the timestampVm.
It's easy, you should just build the binary :
cargo build --releaseTake the binary created at target/release/tGas3T58KzdjLHhBDMnH2TvrddhqTji5iZAMZ3RXs2NLpSnhH (For now am reusing the
base 58 name of the timestampVm) and put it in the build/plugins folder of your avalanchego node. (Location could vary
depending of how you run the node).
Launch your avalanchego node and it should ... not crash upon loading tGas3T58KzdjLHhBDMnH2TvrddhqTji5iZAMZ3RXs2NLpSnhH.
But it won't do much more than thise for now.
Bonus, you can debug lavango by doing this little trick:
- in
src/rpcchainvm/server.rs, change the port at this line to something else (eg. 10001)println!("1|5|tcp|127.0.0.1:10002|grpc"); cargo build --releaseand put the resulting binary in the plugin folder of your avalanchego node.- in
src/rpcchainvm/server.rs, change the port at this line to 10001let addr = "127.0.0.1:10001".parse().unwrap(); - Run it in debug mode
- Start avalanchego, and now it'll try to contact the version of your VM running in debug mode !