메타디움의 gmet은 rocksdb와 leveldb를 지원하며 빌드 시 USE_ROCKSDB 옵션을 통해 각 버전으로 선택하여 빌드가 가능합니다. 각 버전은 생성되는 체인데이터의 포맷이 다르며 서로 간 호환이 되지 않으므로 사용할 DB 버전을 꼭 확인하여 진행해야 합니다.
아래는 빌드를 진행하기 위한 커맨드이며 메타디움에서 권장하는 ubuntu 운영체제를 기준으로 작성되었습니다.
git clone https://github.com/METADIUM/go-metadium.git
cd go-metadium
In case of rocksdb
make
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