Yenten(YTN)のマイニングプールを作ったので裏側公開!Stratumサーバー構築編(2)
Hatenablogへ移行しました
stratumuサーバー構築編(2)
Yenten(YTN)のマイニングプールを作ったので裏側公開!の続きになります。
円天恋な〜プールはこちら
stratumの動作について
stratumサーバーはマイニングする人たちとマイニングプールを接続代行してくれるサービスです。
主な役割は3点 - ウォレットにRPCで問い合わせし、現在の難易度(diffculty)や次点の難易度・全体のハッシュレートなどを取得 - マイナーとマイニングプールの仲介 - 採掘の総当たりを実施
config設定
yenten5000/config/config_sample.pyをコピーして利用します。
$ cd yenten5000 $ cp config/config_sample.py config/config.py
12行目に当たるCENTRAL_WALLETを自身のYentenアドレスに変更します。
$ yenten-cli -conf=/data/yenten/etc/yenten.conf getaddressesbyaccount "" [ "YT8cRWEdtNi4RoV8pH2tABTsdLBBemBfy5" ] $ vim config/config.py 12: CENTRAL_WALLET = 'YT8cRWEdtNi4RoV8pH2tABTsdLBBemBfy5'
YentenウォレットにRPCで接続する情報を記述します。
/data/yenten/etc/yenten.conf の内容ですね。
14: COINDAEMON_TRUSTED_HOST = '127.0.0.1' 15: COINDAEMON_TRUSTED_PORT = 12000 #Yentenのポート 16: COINDAEMON_TRUSTED_USER = '####' 17: COINDAEMON_TRUSTED_PASSWORD = '####'
algorithmをytn_yescryptに変更
25: COINDAEMON_ALGO = 'ytn_yescrypt'
外部からの接続ポート
マイナーが接続するポートを記述します。
76: LISTEN_SOCKET_TRANSPORT = 12100
SALTの設定
パスワードにsaltを負荷します。ランダムで分かりにくい文字列を入力してください
87: PASSWORD_SALT = '############'
DBの設定
DriverはMySQLを前提として進めます。 後ほどDBは作成するのでDB名称と接続ユーザー名、パスワードを任意で入力してください。
90: DATABASE_DRIVER = 'mysql' ~~~~ 102: DB_MYSQL_HOST = 'mysqlhost' 103: DB_MYSQL_DBNAME = 'yenten' 104: DB_MYSQL_USER = '#####' 105: DB_MYSQL_PASS = '#####' 106: DB_MYSQL_PORT = 3306 # Default port for MySQL
プール難易度の設定
マイニングプール側で難易度の自動設定を行う範囲を設定します。 まずは0.1から初めてみましょう。
以下の設定では0.1〜0.5の間でマイナーごとに自動調整する設定です
141: VDIFF_X2_TYPE = False 142: VDIFF_FLOAT = True #小数点単位を有効にします。 145: POOL_TARGET = 0.1 #まずは0.1から調整していきましょう 154: VDIFF_MIN_TARGET = 0.1 155: VDIFF_MAX_TARGET = 0.5
systemdの設定
DBの設定ができていないため、まだ起動はできませんが予め自動起動スクリプトを作成しましょう。
$ vim /etc/systemd/system/yenten@.service [Unit] Description=yenten%p Service After=network.targetauditd.service [Service] Type=simple User=root ExecStart=/usr/bin/twistd -ny launcher.tac WorkingDirectory=/usr/local/yenten%p ExecReload=/bin/kill -HUP ${MAINPID} #ExecStop=/bin/kill -WINCH ${MAINPID} Restart=always RestartSec=10s [Install] WantedBy=multi-user.target $ system enable yenten5000 #自動起動を有効にする
ここまででstratumサーバーの設定は完了です。 次回はMPOSを設定して、フロントを表示し完了となります。