Skip to content

Compile and run

Hongyu edited this page Dec 11, 2019 · 4 revisions

Compile

After successful installation of all the dependencies, you may clone and compile the project

At this moment, you need an Ivy Bridge processor or a recent AMD processor that supports rdrand.

git clone https://github.com/epi-one/epic/
cd epic && mkdir build && cd build
# Debug mode by default
# cmake ..
# Release mode
cmake -DCMAKE_BUILD_TYPE=Release ..
make -j

Run

cd ../bin
# you may run the following test
./epictest
# runing the daemon
./epic --configpath /path/to/toml
# send rpc command to daemon
./epic-cli [OPTIONS] [COMMAND]
# type ./epic-cli --help to see the options

A default config.toml is provided. You may customize a number of things, e.g., how to use spdlog, by editing the config file.

Mining

Once a daemon is started, you may start the mining process

# 1. set pass phrase
./epic-cli set-passphrase
# 2. login
./epic-cli login
# 3. create transactions
./epic-cli create-randomtx 50000 # any integer larger than or equal to 1
# ./epic-cli create-tx []
# 4. start miner
./epic-cli start-miner

GPU mining

The project is enabled with CPU mining by default if no CUDA installation found on the system. It compiles the CUDA code with NVCC if CUDA is found, and GPU mining is then enabled automatically. To disable GPU mining at all, add the flag -DEPIC_ENABLE_CUDA=OFF to the cmake command before compiling the codes.

If you are experiencing the following runtime error: GPUassert(2): out of memory <EPIC PATH>/src/miner.h 32 while you do have adequate GPU memory, set the following shell environment variable:

$ export ASAN_OPTIONS="protect_shadow_gap=0"
Clone this wiki locally