Как стать автором
Обновить

Развертывание сервера ElectrumX

Время на прочтение3 мин
Количество просмотров5.6K
В этой статье я расскажу как развернуть сервер ElectrumX для Emercoin под Ubuntu Server 16.04 LTS, который можно использовать, например, для работы приложений Emercoin Secure Wallet (iOS, Android, Linux, Windows, MacOS). Процесс развертывания ничем не отличается и для других поддерживаемых криптовалют (например, для Bitcoin), с той лишь разницей, что необходимо установить соответствующую ноду нужной криптовалюты и указать именно ее данные в конфиге сервера.

Все команды в этой статье выполняются от root.

1. Установка ноды Emercoin


Для установки ноды Emercoin под Ubuntu Server 16.04 LTS, выполним следующие команды (взятые с официального сайта):

apt-key adv --keyserver keyserver.ubuntu.com --recv B58C58F4
add-apt-repository 'deb http://download.emercoin.com/ubuntu xenial emercoin'
apt update && apt -y install emercoin

Выключаем в ноде поддержку RPC по SSL, так как ElectrumX не поддерживает это:

sed -i -e "s/\(^rpcssl=1\)\(.*\)/rpcssl=0/" /etc/emercoin/emercoin.conf
systemctl restart emercoind

Дожидаемся, пока закачается блокчейн. Контролировать этот процесс можно командой:

emc getinfo

результатом исполнения которой станет похожий вывод:

{
  "version": 60301,
  "protocolversion": 70002,
  "walletversion": 60000,
  "balance": 0.000000,
  "newmint": 0.000000,
  "stake": 0.000000,
  "blocks": 1936,
  "moneysupply": 9521307.700000,
  "timeoffset": 0,
  "connections": 3,
  "proxy": "",
  "ip": "xxx.xxx.xxx.xxx",
  "difficulty": 1.450595422550799,
  "testnet": false,
  "keypoololdest": 1513852706,
  "keypoolsize": 501,
  "encrypted": false,
  "mintonly": false,
  "paytxfee": 0.000100,
  "relayfee": 0.000100,
  "errors": "WARNING: Checkpoint is too old. Wait for block chain to download, or notify developers of the issue."
}

Дожидаемся пока исчезнет в "errors" сообщение "WARNING: Checkpoint is too old. Wait for block chain to download, or notify developers of the issue" — это и будет означать, что блокчейн закачался.

2. Установка зависимостей


В последней, на момент написания этой статьи, версии ElectrumX 1.2.1, есть требование к версии Python >=3.6. В Ubuntu Server 16.04 LTS последняя версия Python — 3.5. Соответственно, необходимо установить Python 3.6 из внешнего репозитория вместе с нужными зависимостями:

add-apt-repository ppa:jonathonf/python-3.6
apt update && apt -y install python3.6 python3.6-dev gcc g++ libleveldb-dev
ln -sf python3.6 /usr/bin/python3
curl -sS https://bootstrap.pypa.io/get-pip.py | python3.6
pip3.6 install aiohttp pylru plyvel

3. Установка ElectrumX


Скачиваем и устанавливаем ElectrumX версии 1.2.1 (самая новая версия на момент написания этой статьи, как я уже упоминал выше):

git clone https://github.com/kyuupichan/electrumx /opt/electrumx
cd /opt/electrumx
git checkout 1.2.1 -b live
mkdir -p db
groupadd -r electrumx
useradd -r -m -d /var/lib/electrumx -k /dev/null -s /bin/false -g electrumx electrumx
chown electrumx:electrumx /opt/electrumx/db
cp contrib/systemd/electrumx.service /etc/systemd/system/
ln -sf /opt/electrumx/electrumx_server.py /usr/local/bin/electrumx_server.py
ln -sf /opt/electrumx/electrumx.conf /etc/electrumx.conf

4. Настройка ElectrumX для Emercoin


а) Создаем файл /opt/electrumx/electrumx.conf следующего содержания:

COIN = Emercoin
DB_DIRECTORY = /opt/electrumx/db
DAEMON_URL = http://emccoinrpc:emccoinpass@localhost:6662/
TCP_PORT = 9110
RPC_PORT = 9000
HOST =

б) Меняем в нем 'emccoinrpc' и 'emccoinpass' на логин и пароль от ноды Emercoin (посмотреть их можно в /etc/emercoin/emercoin.conf)

в) Меняем права доступа к конфигу:

chown root:electrumx /opt/electrumx/electrumx.conf
chmod 640 /opt/electrumx/electrumx.conf

г) Запускаем сервер и ставим на автозагрузку при запуске ОС:

systemctl start electrumx
systemctl enable electrumx

д) Сервер работает и начал индексирование блокчейна. Отслеживать прогресс можно командой:

journalctl -u electrumx -f

После того, как индексирование блокчейна будет завершено, ElectrumX сервер станет полностью работоспособным и к нему можно будет подключаться к порту 9110/tcp.
Теги:
Хабы:
+11
Комментарии3

Публикации

Изменить настройки темы

Истории

Ближайшие события

PG Bootcamp 2024
Дата16 апреля
Время09:30 – 21:00
Место
МинскОнлайн
EvaConf 2024
Дата16 апреля
Время11:00 – 16:00
Место
МоскваОнлайн
Weekend Offer в AliExpress
Дата20 – 21 апреля
Время10:00 – 20:00
Место
Онлайн