Monacoin:CentOS 6.9でMonacoinを動かす

Monacoin(monacoind)をCentOS 6.9で動かす方法です。
CentOS 6.9でビルドしようとするとビルド関係のツールを軒並み自前でビルドしなければならず、大変なので、公式のLinux用のパッケージを使います。
※構築/実行は自己責任でお願いします。基本的なことは知っている、もしくは調べられる人向けに書いているため、コマンドなど細かく説明していません。

<環境>

  • マシン:レンタルのVPS
  • OS:CentOS 6.9
  • バージョン:0.14.2

https://github.com/monacoinproject/monacoin/releases
https://github.com/monacoinproject/monacoin/releases/download/monacoin-0.14.2/monacoin-0.14.2-x86_64-linux-gnu.tar.gz

Monacoinのインストール

1-1. Monacoin の取得

~ $ wget https://github.com/monacoinproject/monacoin/releases/download/monacoin-0.14.2/monacoin-0.14.2-x86_64-linux-gnu.tar.gz
~ $ tar xvzf monacoin-0.14.2-x86_64-linux-gnu.tar.gz
~ $ ls -l monacoin-0.14.2/bin/
drwxr-xr-x 4 wallet wallet 4096  7月  8 19:10 2017 monacoin-0.14.2

1-2. 共有ライブラリの存在確認

ここでは monacoind と monacoin-cli のみ確認します。

~ $ cd monacoin-0.14.2/bin
~/monacoin-0.14.2/bin $ 
~/monacoin-0.14.2/bin $  ldd monacoind
        linux-vdso.so.1 =>  (0x00007fff275bf000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f2a5eb96000)
        librt.so.1 => /lib64/librt.so.1 (0x00007f2a5e98e000)
        libm.so.6 => /lib64/libm.so.6 (0x00007f2a5e709000)
        libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f2a5e4f3000)
        libc.so.6 => /lib64/libc.so.6 (0x00007f2a5e15f000)
        /lib64/ld-linux-x86-64.so.2 (0x000000399d000000)
~/monacoin-0.14.2/bin $  ldd monacoin-cli
        linux-vdso.so.1 =>  (0x00007fff26e6b000)
        librt.so.1 => /lib64/librt.so.1 (0x00007fe0cb89c000)
        libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fe0cb686000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fe0cb468000)
        libc.so.6 => /lib64/libc.so.6 (0x00007fe0cb0d4000)
        /lib64/ld-linux-x86-64.so.2 (0x000000399d000000)

下記のようになっているとライブラリが足りないため、インストールします。

libgcc_s.so.1 => not found

ライブラリとパッケージの対応表

linux-vdso.so.1 → カーネルなので不要
libpthread.so.0 → glibc-2.12-1.209.el6_9.2.x86_64
librt.so.1 → glibc-2.12-1.209.el6_9.2.x86_64
libm.so.6 → glibc-2.12-1.209.el6_9.2.x86_64
libgcc_s.so.1  → libgcc-4.4.7-18.el6.x86_64
libc.so.6 → glibc-2.12-1.209.el6_9.2.x86_64
/lib64/ld-linux-x86-64.so.2 → glibc-2.12-1.209.el6_9.2.x86_64

~ $ sudo yum install glibc
~ $ sudo yum install libgcc

Monacoin を起動する

2-1. monacoind の初回起動

ウォレット等のデータを作成するため、起動します。

~ $  ./monacoind -daemon
Monacoin server starting
~ $  ./monacoin-cli stop
Monacoin server stopping
~ $  ls ~/.monacoin
backups      blocks      db.log     fee_estimates.dat  peers.dat
banlist.dat  chainstate  debug.log  mempool.dat        wallet.dat

2-2. monacoin.conf の作成

/home/ユーザ名/.monacoin 配下にウォレット等のデータが作成されたため、設定ファイルの monacoin.conf を作成します。ここではサーバ用に作成します。rpcxxxの部分は自分の環境に合わせてください。

~ $ vi /home/ユーザ名/.monacoin/monacoin.conf
rpcuser=user
rpcpassword=pass
rpcallowip=127.0.0.1
rpcport=9202
daemon=1
server=1
gen=0

設定値の詳細は下記コマンドにて確認してください。

~ $ ./monacoind -help | less
Monacoin Core Daemon version v0.14.2.0-6d65019

Usage:
  monacoind [options]                     Start Monacoin Core Daemon

Options:

  -?
       Print this help message and exit

  -version
       Print version and exit

  -alerts
       Receive and display P2P network alerts (default: 1)

  -alertnotify=<cmd>
       Execute command when a relevant alert is received or we see a really
       long fork (%s in cmd is replaced by message)

2-3. monacoind の起動

設定ファイル作成後に再度 monacoind を実行します。実行後は起動したことを確認するため、monacoin-cli getinfo を実行します。

~ $  ./monacoind
Monacoin server starting
~ $ ./monacoin-cli getinfo
{
  "version": 140200,
  "protocolversion": 70015,
  "walletversion": 130000,
  "balance": 0.00000000,
  "blocks": 368,
  "timeoffset": 0,
  "connections": 1,
  "proxy": "",
  "difficulty": 0.000244140625,
  "testnet": false,
  "keypoololdest": 1513652890,
  "keypoolsize": 100,
  "paytxfee": 0.00000000,
  "relayfee": 0.00100000,
  "errors": ""
}

monacoind を停止するには、monacoin-cli stop を実行します。

~ $  ./monacoin-cli stop
Monacoin server stopping

2-4. ウォレットの暗号化

ウォレット(wallet.dat)を暗号化するには、monacoin-cli encryptwalletを実行します。実行後にはMonacoin Coreが停止するため、再度起動が必要です。暗号化すると送金等一部の処理にパスワードが必要となります。
Linux上ではコマンド履歴が残るため、Windowsで暗号化したwallet.datをLinuxへアップロードして使う、.bash_historyを削除するなど対策をすることをおススメします。

~ $ ./monacoin-cli encryptwallet
wallet encrypted; Monacoin server stopping, restart to run with encrypted wallet. The keypool has been flushed and a new HD seed was generated (if you are using HD). You need to make a new backup.
~ $  ./monacoind

 
参考になりましたらMonacoinを寄付していただけると幸いです。
Monacoinアドレス:MXAW4ijDZXXscfjzSsaT8pPGKHHjDLiwZn