Ocknamo.com

HomeWorks黄金虫ブログ
HomeWorksBLOG

BitzenyハンズオンーBitzenycoreCLIインストール〜ソロマイニングまで

Posted: 2018-06-12

Hero image

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