Nym Binaries
Building from Source
Nym runs on Mac OS X, Linux, and Windows. All nodes except the Desktop Wallet and NymConnect on Windows should be considered experimental - it works fine if you're an app developer but isn't recommended for running nodes.
Building Nym
Nym has two main codebases:
- the Nym platform (opens in a new tab), written in Rust. This contains all of our code except for the validators.
- the Nym validators (opens in a new tab), written in Go.
This page details how to build the main Nym platform code. If you want to build and run a validator, go here instead.
Prerequisites
- Debian/Ubuntu:
pkg-config
,build-essential
,libssl-dev
,curl
,jq
,git
apt install pkg-config build-essential libssl-dev curl jq git
- Arch/Manjaro:
base-devel
pacman -S base-devel
- Mac OS X:
pkg-config
,brew
,openss1
,protobuf
,curl
,git
Running the following the script installs Homebrew and the above dependencies:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Rust & cargo >= 1.80
We recommend using the Rust shell script installer (opens in a new tab). Installing cargo from your package manager (e.g. apt
) is not recommended as the packaged versions are usually too old.
If you really don't want to use the shell script installer, the Rust installation docs (opens in a new tab) contain instructions for many platforms.
Download and build Nym binaries
The following commands will compile binaries into the nym/target/release
directory:
rustup update
git clone https://github.com/nymtech/nym.git
cd nym
git reset --hard # in case you made any changes on your branch
git pull # in case you've checked it out before
git checkout master # master branch has the latest release version: `develop` will most likely be incompatible with deployed public networks
cargo build --release # build your binaries with **mainnet** configuration
You cannot build from GitHub's .zip or .tar.gz archive files on the releases page - the Nym build scripts automatically include the current git commit hash in the built binary during compilation, so the build will fail if you use the archive code (which isn't a Git repository). Check the code out from github using
git clone
instead.
Pre-built Binaries
The Github releases page (opens in a new tab) has pre-built binaries which should work on Ubuntu 20.04 and other Debian-based systems, but at this stage cannot be guaranteed to work everywhere.
If the pre-built binaries don't work or are unavailable for your system, you will need to build the platform yourself.