Want to build on Beam, but C++ and the toolkit is intimidating? Well, I’ve put together some tooling to make it possible to compile the wasm for the BVM and make it as painless as possible in Rust. Major thanks to Ilya on the team for aiding me in this endeavor.
Projects
There are two crates and a starter repository.
beam_bvm_interface
This crate is meant to be the most direct 1:1 interface with the BVM. This library is auto-generated through bindgen, and I wanted it to be as unopinionated as possible. It will match the BVM versioning.
beam_bvm_util
This crate is meant to be a light wrapper on top of beam_bvm_interface
. In here, there is a section methods are wrapped with “unsafe” so you don’t have to on every beam_bvm_interface call, and they match the rust naming convention. I plan to also include the wiki documentation on these methods later.
beam-bvm-starter
A project meant to give a basic structure and some explanation. Just copy the project and you have a decent head-start developing your project.
Finally
I’m not an expert here. Feedback is always appreciated, especially toward beam_bvm_util where I think that project can add many other useful shortcuts and utility methods. PRs and collaboration are highly welcome.