使用安裝腳本在ubuntu服務(wù)器上搭建Electrumx的運(yùn)行環(huán)境很簡單,使用安裝腳本如下操作即可:
安裝electrumx
sudo wget https://raw.githubusercontent.com/bauerj/electrumx-installer/master/bootstrap.sh -O - | bash
然后修改electrumx的配置文件, 配置文件位置/etc/electrumx.conf
配置文件修改后使用sudo service electrumx start啟動服務(wù)即可。
但在實(shí)際開發(fā)中可能需要直接調(diào)試Electrumx的代碼或者進(jìn)行一些擴(kuò)展,為了方便一些,還是在工作電腦mac上單獨(dú)安裝Electrumx的執(zhí)行環(huán)境。
1、安裝rocksdb(也可以安裝leveldb,我使用的是rocksdb)
brew install rocksdb
2、使用conda創(chuàng)建虛擬環(huán)境(我的mac使用的conda管理虛擬環(huán)境,如果你的沒有單獨(dú)去管理虛擬環(huán)境,直接使用pip安裝下面需要的第三方庫即可)
conda create -n coldlar_venv python=3*
切換到coldlar_venv
source activate coldlar_venv
切換到虛擬環(huán)境之后,使用pip安裝需要的庫aiohttp、aiorpcX、pylru、python-rocksdb(使用rocksdb安裝這個)、plyvel(使用leveldb安裝這個)
3、使用openssl創(chuàng)建認(rèn)證文件,分別執(zhí)行以下命令進(jìn)行創(chuàng)建,(如果不使用ssl協(xié)議的話,也可忽略這個步驟)
mkdir -p /etc/electrumx/
cd /etc/electrumx
openssl genrsa -des3 -passout pass:xxxx -out server.pass.key 2048
openssl rsa -passin pass:xxxx -in server.pass.key -out server.key
rm server.pass.key
openssl req -new -key server.key -batch -out server.csr
openssl x509 -req -days 1825 -in server.csr -signkey server.key -out server.crt
rm server.csr
chmod 600 /etc/electrumx/server*
4、下載Electrumx源碼
https://github.com/kyuupichan/electrumx
5、在Pycharm中創(chuàng)建Python項(xiàng)目并導(dǎo)入Electrumx的源碼,并在運(yùn)行electrumx_server.py前設(shè)置環(huán)境變量
參數(shù)設(shè)置參考文檔
https://electrumx.readthedocs.io/en/latest/environment.html
特別注意
TCP_PORT和SSL_PORT都是需要同步到節(jié)點(diǎn)的高度時才開放(如需一開始就開放可以修改代碼來實(shí)現(xiàn)).而RPC_PORT是一開始就開放,RPC_PORT默認(rèn)是8000.