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.

6 Likes

Are these crates still working? Has anybody used them?

i too also want to know whether beam have any rust development going on

We don’t have any Rust development going on, no.

1 Like

@maxnflaxl any plan to have them in future since its more memory safe if its done in rust safe by design

It was discussed a few times by the community(notably by Ardocrat), but we don’t have the developers to rewrite it in Rust at this time. All of our developers are C++ devs.
So until we find someone that is willing to do it, no.

1 Like

@maxnflaxl don’t worry in due time all great development will happen in by default memory safe easy languages with great UI/UX

we just have work out slowly step by step

1 Like