3.2 KiB
Setting Up Your Environment
In order to develop within the Fluence solution, Node, Rust and small number of tools are required.
NodeJs
Download the [installer](https://nodejs.org/en/download/) for your platform and follow the instructions.
Rust
Install Rust:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Once Rust is installed, we need to expand the toolchain and include nightly build and the Wasm compile target.
rustup install nightly
rustup target add wasm32-wasi
To keep Rust and the toolchains updated:
rustup self update
rustup update
There are a number of good Rust installation and IDE integration tutorials available. DuckDuckGo is your friend but if that's too much effort, have a look at koderhq. Please note, however, that currently only VSCode is supported with Aqua syntax support.
Aqua Tools
The Aqua compiler and standard library and be installed via npm:
npm -g install @fluencelabs/aqua
npm -g install @fluencelabs/aqua-lib
If you are a VSCode user, note that am Aqua syntax-highlighting extension is available. In VSCode, click on the Extensions button, search for aqua
and install the extension.
Moreover, the aqua-playground provides a ready to go Typescript template and Aqua example. In a directory of you choice:
git clone git@github.com:fluencelabs/aqua-playground.git
Marine Tools
Fluence provides several tools to support developers. marine
is the command line compiler required to compile Rust modules to the necessary wasm32-wasi target. mrepl
, on the other hand, is a command line tool providing access to the Marine runtime to test and experiment with marine modules and services locally:
cargo install marine
cargo +nightly install mrepl
Fluence Tools
In addition, Fluence provides the fldist
tool for the lifecycle management of services. From deploying services to the network to executing compiled Aqua scripts from the command line , fldist
does it:
npm -g install @fluencelabs/fldist
{% hint style="info" %}
Please note that we are in the process of deprecating Fldist in favor of Aqua CLI. At the time of this writing, fldist
is fully functional except for run_air
which needs to be replaced with aqua run
.
We are currently in the process of updating the documentation to reflect these changes. If you run into an errant fldist
reference, please let us now!
{% endhint %}
Fluence JS
For frontend development, the Fluence JS is currently the favored, and only, tool.
npm install @fluencelabs/fluence