gitbook-docs/quick-start.md

2.9 KiB

Quick Start

Fluence provides a docker-based development environment that comes with the necessary dependencies and tooling pre-installed. Moreover, the devcontainer includes a three part tutorial covering Aqua, Marine, and Tooling.

Fluence Devcontainer

Fluence's devcontainer is a ready to use dockerized development environment with VSCode integration containing the following tools:

  • aqua to compile Aqua to AIR or Typescript
  • fldist to manage services and optionally execute compiled Aqua from the command line
  • marine to compile services developed in Rust to the wasm32-wasi target
  • mrepl to run, test and debug Wasm services locally

How to install

Docker and optionally VSCode need to be available on your system. For Docker installation, follow the Get Docker instructions for your OS. For VSCode, see VSCocde for instructions.

With Docker and VSCode in place:

  • Install Remote-Containers extension in VSCode

Install Remote - Containers in VSCode

  • Run Remote-Containers: Clone Repository in Container Volume... through command palette F1 or Cmd-Shift-P

Select Remote Container Clone Repository

  • Enter fluencelabs/devcontainer

Select fluencelabs/devcontainer

  • When asked for branch, press enter main
  • When asked for volume, press enter unique
  • open Terminal within VSCode ctrl-\`

Installed And Ready Devcontainer in VSCode

Congratulations, you now have a fully functional Fluence development environment. For a variety of container management options, click on the Dev Container: Fluence button in the lower left of your tool bar:

Container Management Option Menu

Quickstart Tutorial

The container includes the Quick Start tutorial in the tutorial directory with introductions to

  1. Developing decentralized applications with Aqua
  2. Developing custom service modules with Marine
  3. Managing custom service lifecycle with fldist

We recommend you follow the above outlined sequence of tutorial sections starting with Aqua .

Start With The Aqua Tutorial in VSCode

If you encounter any problems or have suggestions, please open an issue or submit a PR. You can also reach out in Discord or Telegram. For more detailed reference resources, see the Fluence documentation and Aqua book.