Last active
January 22, 2020 16:22
-
-
Save wakiyamap/cfa61aced400787c6dba821f04f354e9 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
## monacoin.confの内容 | |
rpcuser=wakiyamatamamichankawaii | |
rpcpassword=[適当にパスワードどうぞ] | |
daemon=1 | |
txindex=1 | |
addressindex=1 | |
spentindex=1 | |
server=1 | |
## torの接続が悪い際に増やすと良いらしいが、coindのmaxconnectionで良いのかと激しく突っ込みたい | |
maxconnections=600 | |
## ライブラリ等追加 | |
sudo apt-get update | |
sudo apt-get install git python3.7 python3.7-dev python3.7-distutils libleveldb-dev | |
wget https://bootstrap.pypa.io/get-pip.py | |
python3.7 get-pip.py | |
sudo pip3 install setuptools --upgrade | |
## electrumxユーザー追加 | |
sudo adduser electrumx --disabled-password | |
## electrumxをgitで持ってくる | |
git clone https://github.com/kyuupichan/electrumx.git | |
## electrumxインストール (python3 setup.py installでやると3.5でインストールされるのでアウト) | |
cd ~/electrumx | |
sudo python3.7 setup.py install | |
## electrumx設定ファイル設置用フォルダ作成 & 権限追加 | |
sudo mkdir /var/electrumx | |
sudo chown electrumx /var/electrumx | |
## systemdの設定ファイル | |
cd contrib/systemd | |
sudo cp electrumx.service /etc/systemd/system/ | |
## SSLの設定 tor設定でelectrumxを運用する場合は必要。clearnetの場合はlet's encrypt等でも問題ない。 | |
cd /etc | |
sudo openssl genrsa -out server.key 4096 | |
sudo openssl req -new -key server.key -out server.csr | |
sudo openssl x509 -req -days 1825 -in server.csr -signkey server.key -out server.crt | |
## tor設定(しないなら無視) | |
sudo apt-get install tor | |
sudo nano /etc/tor/torrc | |
# 以下構文追加 | |
HiddenServiceDir /var/lib/tor/electrumx | |
HiddenServicePort 50001 127.0.0.1:50001 | |
HiddenServicePort 50002 127.0.0.1:50002 | |
# 書き換え後 | |
sudo service tor restart | |
## /etc/electrumx.confで作成 | |
## electrumx.confの設定 めんどくさいなら中身コピペでもOK。ただしDAEMON_URLとREPORT_SERVICESは変えること。 | |
# electrumx.conf設定ここから下 | |
# default /etc/electrumx.conf for systemd | |
# REQUIRED | |
DB_DIRECTORY = /var/electrumx | |
USERNAME = electrumx | |
# Bitcoin Node RPC Credentials | |
DAEMON_URL = http://<rpcusername>:<rpcpassword>@<host>:<port>/ | |
# Coinname | |
COIN = Monacoin | |
# See http://electrumx.readthedocs.io/en/latest/environment.html for | |
# information about other configuration settings you probably want to consider. | |
SSL_CERTFILE = /etc/server.crt | |
SSL_KEYFILE = /etc/server.key | |
SERVICES = tcp://:50001,ssl://:50002,wss://:50004,rpc:// | |
# <your hostname>を書き換えてelectrumxネットワークにreportしたいドメイン、IPアドレス、torアドレスに書き換える | |
REPORT_SERVICES = tcp://<your hostname>:50001,ssl://<your hostname>:50002,wss://<your hostname>:50004 | |
# clearnet時は下1行コメントアウト | |
FORCE_PROXY = 1 | |
# electrumx.conf設定ここから上まで | |
## ここから運用編 | |
## systemd起動関係コマンド | |
sudo systemctl start electrumx #起動 | |
sudo systemctl stop electrumx #終了 | |
sudo systemctl restart electrumx #再起動 | |
## ログ確認 ctrl+Cで終了 | |
journalctl -u electrumx -f | |
## システムアップデート方法 | |
systemd使用時 | |
設定ファイルは/var/electrumx,/etc/electrumxにあるので最悪ホームディレクトリ内にあるであろうelectrumxディレクトリは削除してもOK | |
daemontools使用時 | |
/contrib/daemontools/env/配下に設定ファイルがあるので注意。バックアップを取っておくこと | |
基本的にはelectrumxディレクトリ内でgit pullで事足りる。 | |
先にコミットしろ云々言われた際には最悪electrumxディレクトリ削除後、git cloneし直しでもOK。なお上記の点に注意せよ。 | |
## let's encryptで証明書を取得する場合 | |
## 80,443を使っているソフトはする前にkill | |
## firewallは80,443を開ける | |
sudo apt-get install letsencrypt | |
sudo letsencrypt certonly --standalone -d www.example.com #www.example.comは自分のelectrumxサーバのURL | |
##更新時 | |
sudo /usr/bin/letsencrypt renew --force-renew | |
## ufwについて | |
この設定の場合に最低限必要なポートは50001,50002,50004だけになる。これはtor設定時は閉じても良し。 | |
9401はmonacoindの初期同期が不安なら開けておいた方が良いかも? | |
## electrumx_compact_historyの時々実行 | |
## スクリプトを動かすroot権限が実行できる場所に置く | |
## from https://denariustalk.org/index.php?/profile/1583-manosv/content/&type=forums_topic_post&change_section=1 | |
sudo nano /root/compact_electrum_database.sh | |
## compact_electrum_database.sh の内容ここから | |
#!/bin/bash | |
service electrumx stop | |
export DB_DIRECTORY='/var/electrumx' | |
export COIN=Monacoin | |
export DB_ENGINE=leveldb | |
electrumx_compact_history | |
chown -R electrumx:electrumx /var/electrumx | |
service electrumx start | |
## compact_electrum_database.sh の内容ここまで | |
sudo chmod +x /root/compact_electrum_database.sh | |
sudo crontab -u root -e | |
## crontabで出てきた内容の一番下に設置 1か月に1回/12日に1回 | |
0 1 */12 * * /root/compact_electrum_database.sh >/dev/null 2>&1 | |
## python3.6 からpython3.7に上げるユーザーへ | |
sudo apt remove python3.6-dev | |
sudo apt remove python3.6 | |
sudo add-apt-repository --remove ppa:jonathonf/python-3.6 | |
sudo add-apt-repository ppa:deadsnakes/ppa | |
sudo apt update | |
sudo apt install python3.7 python3.7-dev python3.7-distutils | |
wget https://bootstrap.pypa.io/get-pip.py | |
sudo python3.7 get-pip.py | |
## これを完了した後にgit cloneで落としてきたファイルでsetup.py installするとpython3.6の残り物がエラー吐くので | |
## electrumx/buildを消すか、もうめんどうなのでelectrumxディレクトリを消した後に再度electrumxをgit cloneするのがおすすめ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment