Git Product home page Git Product logo

lavango's Introduction

lavango

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

Objectives

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.

How to use it as a avalanchego plugin

It's easy, you should just build the binary :

cargo build --release

Take 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 --release and put the resulting binary in the plugin folder of your avalanchego node.
  • in src/rpcchainvm/server.rs , change the port at this line to 10001 let 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 !

lavango's People

Contributors

sanghren avatar

Stargazers

Andy Bell avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.