Metadium Tech (KOR)
  • Navigation
    • Metadium Overview
    • Metadium Tech (ENG)
    • Metadium Tech (KOR)
  • METADIUM Info
    • Architecture
    • Network Structure
    • Consensus
    • Smart Contract
    • DID
    • EIP-1559
    • Fee Delegation
    • Roadmap
  • Developer
    • Node Start
      • gmet Binary
      • gmet Guide
      • Connect Node
      • Account
    • Install Node
      • End Node
        • Requirements
        • Install Gmet
      • BP Node
        • Requirements
        • Install Gmet
  • Smart Contract
    • Solidity
    • Precompiled Contracts
    • Sample Contracts
  • API Reference
    • API Info
    • Json-RPC
    • Explorer API
      • Accounts
      • Blocks
      • Contracts
      • Transactions
      • Event logs
      • Tokens
  • Wallet
    • Wallet Info
    • Fee
  • FAQ
  • Articles of Foundation
Powered by GitBook
On this page
  • Download Source Code
  • Build Gmet
  • Configuration
  1. Developer
  2. Install Node
  3. End Node

Install Gmet

PreviousRequirementsNextBP Node

Last updated 1 year ago

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

Download Source Code

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

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

Dependency

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

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

Install go version 1.18.4

wget https://go.dev/dl/go1.18.4.linux-amd64.tar.gz 
sudo rm -rf /usr/local/go && sudo tar -C /usr/local -xzf go1.18.4.linux-amd64.tar.gz 
export PATH=$PATH:/usr/local/go/bin 
source $HOME/.profile 

Download source code

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=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 
GMET_OPTS="--maxpeers=100" # setup additional options
메타디움 github