Install Gmet

본 문서에서는 메타디움 BP 노드의 설치를 위한 gmet 설정 및 빌드에 대해 설명합니다. 해당 설치과정은 github의 사전 빌드된 파일을 이용하는 경우에는 진행할 필요 없으며, 직접 소스코드를 사용하여 빌드하는 경우에만 해당합니다.

Download Source Code

go-metadium 소스코드는 메타디움 github를 통해 모두에게 공개되어 있으므로 아래와 같이 다운로드를 받을 수 있습니다.

git clone https://github.com/METADIUM/go-metadium.git

Build Gmet

메타디움의 gmet은 rocksdb와 leveldb를 지원하며 빌드 시 USE_ROCKSDB 옵션을 통해 각 버전으로 선택하여 빌드가 가능합니다. 각 버전은 생성되는 체인데이터의 포맷이 다르며 서로 간 호환이 되지 않으므로 사용할 DB 버전을 꼭 확인하여 진행해야 합니다.

아래는 빌드를 진행하기 위한 커맨드이며 메타디움에서 권장하는 ubuntu 운영체제를 기준으로 작성되었습니다.

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.1xx

Download source code

git clone https://github.com/METADIUM/go-metadium.git
cd go-metadium

Make-build (in case of rocksdb)

make USE_ROCKSDB=YES 

Make-build (in case of leveldb)

make USE_ROCKSDB=NO

Copy and untar "build" to $GMET_HOME

GMET_HOME='/opt/meta'
sudo mkdir -p $GMET_HOME 
sudo chown $USER:$USER $GMET_HOME
cp build/metadium.tar.gz $GMET_HOME/
cd $GMET_HOME
tar xvzf metadium.tar.gz

Start gmet

$GMET_HOME/bin/gmet.sh start

Check log

tail -F $GMET_HOME/logs/log

빌드 환경에 의한 라이브러리 의존성의 문제가 있는 경우에는 아래와 같이 Docker를 이용한 빌드 방식을 권장합니다.

make USE_ROCKSDB=YES gmet-linux

Configuration

빌드가 완료되면 gmet.sh 스크립트를 이용하여 gmet 노드를 구동할 수 있습니다. gmet.sh 스크립트에서는 gmet 노드 구동 시 설정하는 파라미터를 .rc 설정 파일을 생성하여 간단하게 지정할 수 있습니다.

# vi $GMET_HOME/.rc 

PORT=8588 
DISCOVER=0        # 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 
GMET_OPTS=""      # setup additional options

Last updated