Yenten(YTN)のマイニングプールを作ったので裏側公開!Stratumサーバー構築編(2)

Hatenablogへ移行しました

stratumuサーバー構築編(2)

Yenten(YTN)のマイニングプールを作ったので裏側公開!の続きになります。

円天恋な〜プールはこちら

yenten price

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を設定して、フロントを表示し完了となります。