Prerequisites
Summary
The following dependencies will be required to develop OWNABLES:
gitrustcandcargoversions 1.61.0 or laterclangnpmversion 8.11.0 or laternodeversion 16.15.0 or laterwasm-packversion 0.10.2 or later
If you do not have the above dependencies on your machine, see the sections below for instructions.
Git
Download and install git. Git is a version control system. It's used to fetch the Ownables SDK from GitHub.
Alternatively, you can use GitHub desktop, which is more user-friendly.
Rust and Cargo
Ownable packages are built with Rust.
To install Rust and its package manager Cargo, follow the official documentation guide from the Rust Book. On Linux and macOS systems, this is done as follows:
$ curl https://sh.rustup.rs -sSf | shVerify the installation by checking the version:
$ cargo versionThe version should be 1.61.0 or later.
clang
Rust may depend on clang for building an ownable. Install clang, if you come across the following error
Failed to find tool. Is `clang` installed?On Mac, clang should come pre-installed. On Linux you should be able to install it from the distro's repository. E.g. on Ubuntu Linux run
$ apt install clangNode and npm
npm will be needed for running the local wallet instance and building the OWNABLES packages.
Install it as described on the official Node.js website.
Verify the installation with:
$ npm -v
$ node -vThe node version should be 16.15.0 or later. The npm version should be 8.11.0 or later.
wasm-pack
The smart contracts written in Rust need to be compiled to WebAssembly. This way we can easily interact with them in our wallet.
wasm-pack makes building and working with rust-generated WASM easy.
Follow the latest steps described in their official documentation to install it. On Linux and macOS systems, this is done as follows:
$ curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | shOnce that is done, verify the installation:
$ wasm-pack -VThe version should be 0.10.2 or later.
Code editor (optional)
Any editor you prefer will do the job, but there are a few recommendations worth looking into here.
First is the VSCode editor which you can download from the official source. Along with it, you may consider installing this Rust plugin to help with syntax highlighting and other amenities.
Another great pick is the WebStorm by Jetbrains. JetBrains provides a Rust plugin which is very useful to help with the development flow.
Last updated