BitzenyハンズオンーBitzenycoreCLIインストール〜ソロマイニングまで
Posted: 2018-06-12

https://bitzeny.techから 2.01 をダウンロード。 環境 ubuntu18.04 Intel® Core™ i7-7700HQ CPU @ 2.80GHz × 8
bitzenyd をビルド
ここに書かれているとおりにやりましょう。 (参考: https://github.com/BitzenyCoreDevelopers/bitzeny/blob/z2.0.x/doc/build-unix.md)
依存関係構築手順(とりあえず全部やった感) $sudo apt-get install build-essential libtool autotools-dev automake pkg-config libssl-dev libevent-dev bsdmainutils $sudo apt-get install libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-program-options-dev libboost-test-dev libboost-thread-dev $sudo apt-get install software-properties-common $sudo add-apt-repository ppa:bitcoin/bitcoin $sudo apt-get update $sudo apt-get install libdb4.8-dev libdb4.8++-dev
ビルドする $./autogen.sh $./configure $make 数時間ほどかかってビルドが完了。
動かしてみる
動かし方 $cd src $./bitzenyd -daemon
止め方 $./bitzeny-cli stop
同期確認 $./bitzeny-cli getinfo
cli のコマンドを確認 $./bitzeny-cli help | less
プロセス確認 $ps -aux | grep bitzeny
同期確認 $./bitzeny-cli getblockchaininfo
同期が遅いときは /home/user/.bitzeny に bitzeny.conf を作成してノードを追加する。(cli コマンドで一つづつ追加もできる) $cd ~/.bitzeny $touch bitzeny.conf $vim bitzeny.conf
ここのビットゼニーのノードをコピペする。 https://lapool.me/seed/ bitzeny.conf の内容
addnode=124.103.242.109
addnode=124.141.236.31
addnode=125.207.130.237
addnode=126.21.110.9
addnode=153.199.201.223
addnode=153.229.196.123
addnode=160.16.210.208
addnode=198.13.48.158
addnode=203.152.216.75
addnode=203.152.216.76
addnode=203.152.216.77
header が全部ダウンロードされないと Block のダウンロードが始まらない。そのためいつまで待っても Block が 0 のままだとしても header が増加していれば同期が進んでいるので問題ない。 今回は 2 日以内に同期完了した。
bitzeny.cli コマンド操作
新しくアドレスをつくる $./bitzeny-cli getnewaddress ( "アカウント名" ) 例:$ ./bitzeny-cli getnewaddress ocknamo
メモ:getnewaddress と getrawchangeaddress の違い(参考: https://bitcoin.stackexchange.com/questions/46506/getnewaddress-vs-getrawchangeaddress)
getrawchangeaddress メソッドは、keypool からキーを取得し、その pubkey(p2pkh アドレスにエンコードされた)を返します。 getrawchangeaddress とは異なり、gewnewaddress はアドレス帳エントリを作成します。アドレス帳エントリを使用すると、そのアドレスで受け取った資金を検査したり区別したりすることができ、再利用される可能性が高くなります。 指定したアドレスを rawtransaction の変更出力として使用する場合は、getrawchangeaddress を使用する必要があります。
つまり通常使用なら getnewaddress で問題ない。
テスト用の zeny を入手:http://bitzeny.cswiki.jp/index.php?fauset を利用する
以降アカウント名"ocknamo"の場合
アカウントからアドレスを取得 $./bitzeny-cli getaccountaddress ocknamo
アドレスからアカウントを取得 $ ./bitzeny-cli getaccount Zena3A5LfTUP5vNe8VA6fqek4dRB7TqH4j
アカウントのアドレスを 1 つ増やす $./bitzeny-cli getaddressesbyaccount ocknamo
アカウントの残高確認 $./bitzeny-cli getbalance ocknamo
アカウントが受け取った金額 $./bitzeny-cli getreceivedbyaccount ocknamo
アドレスが受け取った金額 $./bitzeny-cli getreceivedbyaddress Zena3A5LfTUP5vNe8VA6fqek4dRB7TqH4j
ウォレット情報の確認 $ ./bitzeny-cli getwalletinfo
アカウントのリストと残高を JSON で出力。 $ ./bitzeny-cli listaccounts
ウォレットのバックアップファイルを出力 $ ./bitzeny-cli backupwallet backup.dat
ウォレットのデータを出力 $ ./bitzeny-cli dumpwallet ~/wallet.text
メモ: backupwallet と dumpwallet の違い。 backupwallet は wallet 復元用のバイナリファイルを出力。 dumpwallet は text で private masterkey と全てのアドレスの privatekey を出力する。
アドレスのプライベートキーを確認 $ ./bitzeny-cli dumpprivkey ZobvCw3sWSzDEQ9TxRDSUtkGWxa3P6ayv9
wallet を暗号化(マルウェア対策のため必須) $ ./bitzeny-cli encryptwallet "passphrase" これを実行すると bitzenyd が停止する。 また backup を新しく作るように要求されるので再起動して backup を再び作成する。
ウォレットのロック解除 $ ./bitzeny-cli walletpassphrase "pass" ロック解除秒数 例: $ ./bitzeny-cli walletpassphrase xxxxxx 60
ソロマイニング
詳細は公式 wiki を読んでください。対応 CPU を確認する必要があります。 参考:http://bitzeny.cswiki.jp/index.php?%E3%83%9E%E3%82%A4%E3%83%8B%E3%83%B3%E3%82%B0%E3%81%A8%E3%81%AF 参考:http://bitzeny.cswiki.jp/index.php?%E3%82%BD%E3%83%AD%E3%83%9E%E3%82%A4%E3%83%8B%E3%83%B3%E3%82%B0
いろいろ読んだ結果、良さげな cpumainer さんでやってみることにしました。 https://github.com/macchky/cpuminer/releases/tag/v2.5.0 (公式ツールはこっちhttps://github.com/BitzenyCoreDevelopers/cpuminer/releases)
ビルド
以下 README そのままですが $ git clone https://github.com/macchky/cpuminer.git $ sudo apt-get install build-essential libcurl4-openssl-dev $ ./autogen.sh $ ./nomacro.pl $ ./configure CFLAGS="-O3" $ make
cpuminer コマンド
ヘルプ $ ./minerd --help
bitzenyd を停止したのち、bitzeny.conf に以下を追加 (参考:http://bitzeny.cswiki.jp/index.php?%E3%82%BD%E3%83%AD%E3%83%9E%E3%82%A4%E3%83%8B%E3%83%B3%E3%82%B0)
rpcuser=x
rpcpassword=x
rpcallowip=127.0.0.1
rpcport=9252
daemon=1
server=1
gen=0
とりあえずマイニング開始してみる。
$./minerd -a yescrypt -o http://127.0.0.1:9252 -u x -p x --coinbase-addr=Zena3A5LfTUP5vNe8VA6fqek4dRB7TqH4j 結果: Total: 3.12 khash/s
マイニングのオプション $ ./minerd --help
このままだと cpu が全部 100%に張り付くので設定とか変えたほうがいいと思う。
仮想 8 スレッド中 4 スレッドを使用する設定にしてベンチマークオプションをつけた場合。 ./minerd -a yescrypt -o http://127.0.0.1:9252 -u x -p x --coinbase-addr=Zena3A5LfTUP5vNe8VA6fqek4dRB7TqH4j --cpu-affinity 0xAA --benchmark 結果: Total: 2.03 khash/s
同 7 スレッドを使用する場合。 ./minerd -a yescrypt -o http://127.0.0.1:9252 -u x -p x --coinbase-addr=Zena3A5LfTUP5vNe8VA6fqek4dRB7TqH4j --cpu-affinity 0xFE --benchmark 結果: Total: 3.15 khash/s ばらつきはあるけど 1 スレッド空いたままで高いハッシュレートが出た。
8 スレッドの設定にすると熱暴走するのか、数分経過すると一気にハッシュレートが半分くらいになった。 設定をいろいろいじって安定して高いハッシュレートを追求するのが楽しいのではないか。しらんけど。 ちなみに1日動かしたくらいじゃ掘れなかったのでマイニングプールで掘ったほうがいいと思います。
(参考: https://bitzeny.info/d/79-cpuminer-v2-5-0-yescrypt/84)
感想
- config の設定をタイポしてて3時間ぐらい悩んだ。
- もともと zenyhive に興味があっていじり始めたのでそっちもいじりたい。
寄付や送金テストにお使いください。 Zena3A5LfTUP5vNe8VA6fqek4dRB7TqH4j