CentOS
Bitcoin
electrum

electrumxのインストール手順(centos7)

このドキュメントはelectrumx 1.3に対応しています

electrumxとは

electrumというサーバークライアント型のビットコインウォレットがあり、様々なオルトコインに移植されている。
electrumxはサーバー部分を設定ファイルの切り替えでオルトコインに対応できる互換サーバーである。
python3で作られている。
通信部分はtcp(tls) + JSONRPC2.0。

electrumxのインストール

この記事には書きませんがbitcoindをインストールする必要があります
root権限またはsudoで作業します

python3をインストール

iusを利用します

yum install -y https://centos7.iuscommunity.org/ius-release.rpm
yum install -y python36u python36u-libs python36u-devel python36u-pip

rocksdbのインストール

開発ツールのインストール

データベースにrocksdbを使う場合はインストールする必要がある

yum install -y epel-release
yum install -y Development Tools
yum install -y snappy snappy-devel zlib zlib-devel bzip2-libs bzip2-devel lz4 lz4-devel cmake make leveldb leveldb-devel gflags-devel

コンパイル & インストール

git clone https://github.com/facebook/rocksdb.git
cd rocksdb
git checkout v5.10.4
make shared_lib
make install-shared INSTALL_PATH=/usr
/usr/bin/pip3.6 install python-rocksdb
/usr/bin/pip3.6 install plyvel
ldconfig

electrumxのダウンロード & インストール

sslが必要であれば自己署名証明書を用意する必要があります

curl https://codeload.github.com/kyuupichan/electrumx/tar.gz/1.3 > electrumx-1.3.tar.gz 
tar zxvf electrumx-1.3.tar.gz
cd electrumx-1.3.tar.gz
/usr/bin/pip3.6 install uvloop
/usr/bin/python3.6 ./setup.py install
mkdir /DB

設定ファイル

/etc/electrumx.conf
COIN = Bitcoin
NET = mainnet
DB_DIRECTORY = /DB
DAEMON_URL = http://user:password@localhost:8332/
DB_ENGINE = rocksdb
EVENT_LOOP_POLICY = uvloop
TCP_PORT = 50001
# SSL_PORT = 50002
HOST = 0.0.0.0
MAX_SEND = 1000000

# SSL_CERTFILE=/etc/electrumx/server.crt
# SSL_KEYFILE=/etc/electrumx/server.key
/etc/systemd/system/electrumx.service
[Unit]
Description=Electrumx
After=network.target

[Service]
EnvironmentFile=/etc/electrumx.conf
ExecStart=/usr/bin/electrumx_server.py
User=centos
LimitNOFILE=8192
TimeoutStopSec=30min

[Install]
WantedBy=multi-user.target

起動コマンド

systemctl start electrumx
systemctl stop electrumx
systemctl restart electrumx