Rust Dapp Development

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

beam_bvm_interface crate

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

beam_bvm_util crate

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

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.

5 Likes

Are these crates still working? Has anybody used them?