Install Guide

End Node

Build

WEMIX3.0 is implemented based on Ethereum, so the build method is the same as go-ethereum, except that geth has been changed to gwemix.

First, the developer downloads the go-wemix source code by executing the following command on the Linux machine.

git clone https://github.com/wemixarchive/go-wemix.git

After that, go to the go-wemix directory and run the command below to start gwemix build. Depending on the USE_ROCKSDB option, it is built as Rocksdb or Leveldb. Since the two databases are not compatible, you must check the db type and version when using chain data received from another machine.

This chapter is explained based on Ubuntu environment. To build gwemix from source code directly in Ubuntu environment, you need to follow the steps below.

Dependency

sudo apt-get update
sudo apt-get install -y build-essential golang

Rocksdb only

sudo apt-get install -y libsnappy-dev libjemalloc-dev
cd /usr/lib/x86_64-linux-gnu/
sudo ln -sf libjemalloc.so.2 libjemalloc.so.1

Download source code

git clone https://github.com/wemixarchive/go-wemix.git 
cd go-wemix

In case of rocksdb

make

In case of leveldb

make USE_ROCKSDB=NO

Copy and untar "build" to $GWEMIX_HOME

GWEMIX_HOME='/opt/gwemix'
sudo mkdir -p $GWEMIX_HOME 
sudo chown $USER:$USER $GWEMIX_HOME
cp build/gwemix.tar.gz $GWEMIX_HOME/
cd $GWEMIX_HOME 
tar xvzf gwemix.tar.gz

Create .rc at $GWEMIX_HOME with the following info

PORT=8588 
DISCOVER=1        # 1 for enable discovery mode, 0 for disable discovery mode
TESTNET=1         # 1 for Testnet or remove this line for Mainnet
SYNC_MODE=full    # snap, full or archive 
GWEMIX_OPTS="--maxpeers=100"

Start gwemix

$GWEMIX_HOME/bin/gwemix.sh start

Check log

tail -F $GWEMIX_HOME/logs/log

When executing the make, logrot and gwemix.tar.gz are built at once for convenience of installation and are saved as compressed files in the build directory. The generated gwemix.tar.gz contains the following files.

bin/gwemix        ## gwemix binary
bin/gwemix.sh     ## gwemix control shell script
bin/logrot        ## log rotator

Build with Docker Image

WEMIX3.0 can use docker images to solve cases where library dependencies are a problem. When building on Linux or MacOS X, you can build it through the following process.

Currently, docker build is not supported in Apple Chip MacOS environment and Windows environment, and support will be provided in the future.

make USE_ROCKSDB=YES gwemix-linux

To install the gwemix.tar.gz binary built through Docker by copying it to the Ubuntu environment, follow the steps below.

Rocksdb only

sudo apt-get install -y libsnappy-dev libjemalloc-dev
cd /usr/lib/x86_64-linux-gnu/
sudo ln -sf libjemalloc.so.2 libjemalloc.so.1

Copy and untar "build" to $GWEMIX_HOME

GWEMIX_HOME='/opt/gwemix'
sudo mkdir -p $GWEMIX_HOME 
sudo chown $USER:$USER $GWEMIX_HOME
cp build/gwemix.tar.gz $GWEMIX_HOME/
cd $GWEMIX_HOME 
tar xvzf gwemix.tar.gz

Create .rc at $GWEMIX_HOME

PORT=8588 
DISCOVER=1        # 1 for enable discovery mode, 0 for disable discovery mode
TESTNET=1         # 1 for Testnet or remove this line for Mainnet
SYNC_MODE=full    # snap, full or archive 
GWEMIX_OPTS="--maxpeers=100"

Start gwemix

$GWEMIX_HOME/bin/gwemix.sh start

Check log

tail -F $GWEMIX_HOME/logs/log