Overview

The ADAPT Docker development kit contains the tools required to get started with ADAPT framework development.

For instructions on setting up your environment, refer to the Getting Started Tutorial.

The tools are organized in this directory structure:

/mufl/
     |
     |--- bin/
     |       |
     |       |--- mufl
     |       |
     |       |--- mufl-nitro
     |       |
     |       |--- mufl-compile
     |
     |--- wasm/
     |
     |--- meta/
     |
     |--- mufl_stdlib/
     |
     |--- mufl-protocol/
     |
     |--- transactions/
     |
     |--- addon/
     |
     |--- utilities/
     |
     |--- langserver/
     |
     |--- build-nodejs-modules.sh
     |
     |--- LICENSE
     |
     |--- release.txt

MUFL Compiler and REPL

The /mufl/bin/ directory of the toolkit contains these binary files:

  • mufl - The read–eval–print loop (REPL) binary for native targets
  • mufl-nitro - The REPL binary for AWS Nitro Enclaves targets
  • mufl-compile - The MUFL compiler

Libraries and Protocols

The meta library is a system library used by the MUFL compiler that implements the MUFL type system.

For more information, refer to The MUFL Type System.

The MUFL standard library is a collection of MUFL libraries you can use to simplify your MUFL code.

For more information, refer to MUFL Standard Library.

The ADAPT messaging protocol defines communication between MUFL packets.

For more information, refer to ADAPT Messaging Protocol.

The transactions directory contains MUFL internal libraries for implementing transaction-related functionality.

For more information, refer to Packet Interface (Transactions).

ADAPT JavaScript API Add-on

The addon directory contains the ADAPT JS API, which is TypeScript bindings of the MUFL evaluator C++ code. The API is implemented for these targets:

For more information, refer to Embedding ADAPT in Web and Mobile Apps

Utilities

The utilities directory contains TypeScript code that allows you to deploy a network with your MUFL application running in it.

For more information, refer to the runtime environment utilities.

MUFL Language Server

The langserver directory contains a language server for Visual Studio Code (VS Code) that implements the Microsoft language server protocol for MUFL.

For more information, refer to the language server overview.

Build NodeJS Modules

By default, the development kit does not contain the node modules. The /mufl/build-nodejs-modules.sh script builds all the TypeScript packages provided by ADAPT. The script is very useful during ADAPT development.