Edited at

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

More than 1 year has passed since last update.

このドキュメントは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