Epic Cash Mining Tutorial (Linux)

Michael Freeman
Sep 10 · 5 min read

This is a step-by-step tutorial to solo and pool mine Epic Cash on Linux. See Epic Cash on Linux for more detailed instructions and Epic Cash Wallet Tutorial for how to send and receive Epic Cash.

Download and Install Files

To mine, you need LibRandomX dependency, Epic wallet, server, and miner (and OpenCL miner for GPU mining).

  1. Download the latest librandomx package and Epic Linux files here: https://epic.tech/downloads/
  2. Press Ctrl+Alt+T to open a new terminal.
  3. Enter this command to install dependencies:
    sudo apt install libncurses5 libncursesw5 zlib1g openssl
  4. Navigate to the directory where you downloaded the files with command:
    cd <directory>
    Example if the files are located in /Downloads:
    cd Downloads
  5. To display files in the directory, use the list command:
    ls
  6. Right-click and install, or enter the following commands, replacing x with the correct version number:
    sudo dpkg -i librandomx_x.deb
    sudo dpkg -i epic_x.deb
    sudo dpkg -i epic-wallet_x.deb
    sudo dpkg -i epic-miner_x.deb
    sudo dpkg -i epic-miner-opencl_x.deb (only for GPU mining)
    sudo dpkg -i epic-miner-cuda_x.deb (only for NVIDIA GPU mining. May not work as of September, 2019)

Setup Wallet and Server

  1. Initialize Epic wallet with command:
    epic-wallet init
  2. Set a strong password and backup your 24-word seed phrase. Please note: The seed phrase is required to recover your wallet. Do not share or lose your seed phrase, or you may lose your funds.
  3. Execute Epic server with command:
    epic
  4. In another terminal, execute Epic wallet in listen mode with command:
    epic-wallet -e listen
  5. The Epic server must be running and Epic wallet listening during mining.

Setup CPU Miner (RandomX)

The optimal number of cores to use is ~1–3 fewer physical cores than your CPU has, and fewer if you have less than 2 MB of L3 cache per core used. For example, use up to four cores if you have 8 MB of L3 cache. Users are recommended to test different numbers.

If you do not want to modify number of CPU cores used or reduce log size, please skip this section.

  1. Use a text editor to open epic-miner.toml in folder /etc/ with command:
    sudo nano /etc/epic-miner.toml
    (Optional) Alternative to Nano:
    sudo apt install xed (if not already installed)
    sudo xed /etc/epic-miner.toml
  2. You can replace 3 with the number of physical CPU cores to use in lines:
    [mining.randomx_config]
    threads = 3
  3. If log file increases in size too fast, users can change log level from “Debug” to “Info” in line:
    file_log_level = “Debug”

Setup GPU Miner (ProgPoW)

OpenCL works for both AMD and NVIDIA GPUs. Mining with CUDA (NVIDIA-only) is usually better than OpenCL but may not work as of September, 2019.

  1. (For OpenCL) Install OpenCL with command:
    sudo apt install ocl-icd-opencl-dev
  2. (For CUDA) Ensure you have the latest CUDA Toolkit 9+ (as of September, 2019). Check with command:
    nvcc -version
  3. Use a text editor to open the configuration file in folder /etc/ with command:
    sudo nano /etc/epic-miner-opencl.toml (for OpenCL) or
    sudo nano /etc/epic-miner-cuda.toml (for CUDA)
    (Optional) Alternative to Nano:
    sudo apt install xed (if not already installed)
    sudo xed /etc/epic-miner-opencl.toml (for OpenCL) or
    sudo xed /etc/epic-miner-cuda.toml (for CUDA)
  4. Ensure this line contains “ProgPow” for GPU mining:
    algorithm = “ProgPow”
  5. Find line:
    [[mining.gpu_config]]
    device = 0
    driver = 2
  6. For each additional GPU, copy these three lines and paste them below.
  7. Replace additional instances of device = 0 with the next number. The first GPU is device = 0, the second GPU is device = 1, the third GPU is device = 2, etc.
    Example of the lines with three GPUs:
    [[mining.gpu_config]]
    device = 0
    driver = 2
    [[mining.gpu_config]]
    device = 1
    driver = 2
    [[mining.gpu_config]]
    device = 2
    driver = 2
  8. (Optional) The parameter driver = 2 corresponds to OpenCL and the parameter driver = 1 corresponds to CUDA (NVIDIA-only).
  9. (Optional) If log file increases in size too fast, users can change log level from “Debug” to “Info” in line:
    file_log_level = “Debug”

Pool Mining (optional)

Epic Cash is currently available on these mining pools:

To mine on a stratum mining pool, follow these steps:

  1. Use a text editor to open epic-miner.toml (for CPU) or epic-miner-opencl.toml (for GPU) in folder /etc/.
  2. Find lines:
    # listening epic stratum server url
    stratum_server_addr = “127.0.0.1:3416”
    # login for the stratum server (if required)
    #stratum_server_login = “http://192.168.1.100:3415"
    # password for the stratum server (if required)
    #stratum_server_password = “x”
  3. Remove # from these three lines:
    stratum_server_addr = “127.0.0.1:3416”
    #stratum_server_login = “http://192.168.1.100:3415"
    #stratum_server_password = “x”
  4. In stratum server address, replace “127.0.0.1:3416” with your pool’s stratum address, i.e. “epic.icemining.ca:4000"
  5. In stratum server login line, replace http://192.168.1.100:3415" with your username in quotes.
  6. In stratum server password line, replace “x” with a strong password in quotes for withdrawing your coins. Do not share the password or lose it, or you may lose your funds. Once the password is set, it cannot be changed.

Difficulty Adjustment (optional)

  1. You can increase the default 100000 difficulty for ProgPoW mining if there are many rejected or stale shares. 1000000 (1 million) to 5000000 (5 million) per GPU in a machine may perform better, but users should monitor rejected and stale shares and adjust based on that. Please note: These recommended numbers will likely change for future miners.
  2. Use a text editor to open epic-server.toml in folder /.epic/main/ with command:
    sudo nano /.epic/main/epic-server.toml
  3. Find line:
    progpow_minimum_share_difficulty = 100000
  4. Replace 100000 with xxxxxxx.
    Example of the line with two GPUs with 2 million difficulty per GPU:
    progpow_minimum_share_difficulty = 4000000

Run Miner

  1. The Epic server must be running and Epic wallet listening during mining. If not open, in separate terminal windows, run commands:
    epic
    epic-wallet -e listen
  2. In a new terminal, start mining with the correct mining software:
    epic-miner (for RandomX)
    epic-miner-opencl (for OpenCL)
    epic-miner-cuda (for CUDA)
  3. In Mining tab you can view number of accepted and refused shares and blocks found.
  4. When you have found blocks, you can view your coins with command:
    epic-wallet info

Michael Freeman

Written by

Epic Cash

Epic Cash

Epic Cash is designed to be a currency for everyone, and combines the privacy-protecting MimbleWimble protocol with sound economics and fair distribution.

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade