Installing AtomicDEX Software (MM2)

Minimum Requirements for Installation

  • MacOS, Windows (see note below), and Linux (see note below)

  • 64-bit (see note below for 32-bit)

  • Minimum 2GB of free RAM

  • Normal user account with admin/root privileges

Note

If you would prefer to avoid building MM2 from source, you can download our pre-built binary from our Github releases page.

Note about Linux

For Linux users, much of the following documentation assumes that you are building and running MM2 on a Debian 9/10 or Ubuntu 18.04 host. If you have questions about other releases or distributions, please reach out to us on the #dev-marketmaker channel on Discord.

Note about Installing on Windows

Developing software on Windows typically requires an installation of Git Bash.

Git Bash is a terminal shell based on Unix. It is similar to the Windows Shell or Windows Command Prompt, but uses Unix-based syntax.

All instructions in the MarketMaker 2.0 documentation are given with Unix-based syntax, and therefore we recommend installing Git Bash before proceeding.

You may download and install Git Bash for Windows here:

Download Git Bash for Windows

The download should begin automatically.

Double-click the downloaded .exe file and follow the Installation Wizard.

Once Git Bash is open and running on your machine, you may continue.

Note About 32-bit Operating Systems

We are currently testing 32-bit operating system functionality. As 32-bit machines can often be comparatively older hardware, we cannot guarantee that MarketMaker 2.0 will run successfully by default.

We invite users of 32-bit operating systems to test the software and report any errors to our team on the #dev-marketmaker channel on Discord.

Installing Dependencies

Rust

Install Rust:

curl https://sh.rustup.rs -sSf | sh

cmake Version 3.12 or Higher

Download the cmake software here: download link

Unpack and follow the instructions here: instructions link

Build Tools for Your OS

Linux:
sudo apt-get install build-essential
Windows: Follow these instructions for MSVC
MacOS: Install XCode via the App Store

Install Additional Dependencies

Install the following additional dependencies using the terminal.

sudo apt-get install -y build-essential git llvm-3.9-dev libclang-3.9-dev clang-3.9 libssl-dev pkg-config

Install Additional Rust Components

Install additional Rust components:

rustup install nightly-2019-10-06
rustup default nightly-2019-10-06
rustup component add rustfmt-preview

Install jq

jq is an optional, but useful addition to our needed software. jq can provide a more readable format of JSON output in the terminal, which helps us more quickly digest mm2's data.

Linux:
sudo apt-get install jq
MacOS:

Download the appropriate file from this link.

In your terminal, make the file executable by changing into the directory where the file downloaded and executing:

chmod +x jq

Then execute the file.

Windows:

Download and execute the appropriate file from this link.

Build MM2

Clone the MM2 repository:

cd ~
git clone https://github.com/KomodoPlatform/atomicDEX-API --branch mm2 --single-branch && cd atomicDEX-API

Compile the source code:

cargo build --features native -vv

If everything installs successfully you will see something similar:

“Finished dev [optimized + debuginfo] target(s) in 3m 33s”

The MM2 executable is now built and available here: ~/atomicDEX-API/target/debug/mm2