Skip to content
Sky King edited this page Mar 5, 2024 · 12 revisions

Table of contents

Building the projects - Linux

This section will explain how to build the Epic Cash projects and the requirements to do so.

Requirements

Linux has the following requirements:

  • rust (Stable)
  • randomx
  • clang
  • ncurses and libs (ncurses, ncursesw5)
  • zlib libs (zlib1g-dev or zlib-devel)
  • pkg-config
  • linux-headers (reported needed on Alpine linux)
  • llvm
  • cmake (tested with versions 3.18.4 and 3.19.3)

You can easily install most of the requirements by using:

sudo apt install build-essential cmake git libgit2-dev clang libncurses5-dev libncursesw5-dev zlib1g-dev pkg-config llvm

Installing randomx

To install randomx, follow this steps:

  1. Download the latest version of the librandomx package here.
  2. In the terminal, navigate to the directory where you downloaded the .deb file and execute the following command changing the argument <your-librandomX.deb> to the name of your downloaded file:
sudo dpkg -i <your-librandomX.deb>

Installing rust

Instructions on how to install rust can be found on the rust-lang webpage.

To change rust to the version 1.60.0, you can run:

rustup default 1.60.0

To validate rust installation and check the current version you can run:

rustc --version

The output should be something like this:

rustc 1.60.0 (xxxxx)

Building the binaries

With all the requirements installed, clone the project you are trying to build (epic, epic-wallet or epic-miner with:

git clone <link-to-project>

Go to the folder of the cloned repository and run:

git submodule update --init --recursive
cargo build --release

What was built

A successful build should get the binary on:

target/release/<project-name>

Build on aarch-64 (RasPi4 or clone)

Modify cargo.toml in the core folder:

#randomx = { git = "https://github.com/EpicCash/randomx-rust.git", version = "0.1.1" }
randomx = { git = "https://github.com/johanneshahn/randomx-rs.git" }