Regtestモードでpyminerを動かしてみる 〜 簡単なpythonプログラムを使ってbitcoinの採掘を試してみる、その1

技術メモ

採掘の仕組みを理解したいので実際にpythonプログラムを使用してbitcoinをまず採掘してみる。

1から実装をすると時間がかなりかかりそうなため勉強用のライブラリを探していたところ

https://github.com/jgarzik/pyminer

というライブラリを見つけたのでこちらを元にいろいろ試してみる。

そもそもbitcoinの仕組みやら採掘とは?

まずそもそもの概念を理解しておかないと学習しずらい。
このため以下ページがbitcoinの仕組みをとてもわかりやすく書いてあるので一読した
http://jp.techcrunch.com/2015/03/31/bitcoin-essay/

まず動かしてみる前にbitcoindを入れる

bitcoinの動く環境を設定するためにbitcoindを入れる。今回はubuntu16で入れた

$ apt-get install apt-file
$ apt-get update
$ apt-file update
$ apt-file search add-apt-repository
$ apt-get install software-properties-common
$ add-apt-repository ppa:bitcoin/bitcoin
$ apt-get update
$ apt-get  install bitcoind
$ bitcoind --version # バージョン確認しておく 0.14
Bitcoin Core Daemon version v0.14.0.0-g43a987c1c
Copyright (C) 2009-2017 The Bitcoin Core developers

Please contribute if you find Bitcoin Core useful. Visit
 for further information about the software.
The source code is available from .

This is experimental software.
Distributed under the MIT software license, see the accompanying file COPYING
or 

これでbitcoinのインストールができた。
この後設定ファイルを作り

$ mkdir ~/.bitcoin/
$ vim ~/.bitcoin/bitcoin.conf
-----
rpcuser=hoge
rpcpassword=fuga

# server = 1 # regtestでは使わない 
# txindex=1  # regtestでは使わない  Maintain a full transaction index, used by the getrawtransaction rpc call (default: 0)

rpcport=18332 # rpcを受け付けるPORT
regtest=1 # regtest環境である事を指定
-----

bitcoinを「Regtest Mode」で起動する。いろいろ便利だな、このRegtest Mode。

$ bitcoind -regtest -daemon
$ curl --data-binary '{"jsonrpc":"1.0","id":"curltext","method":"getinfo","params":[]}' -H 'content-type:text/plain;' http://hoge:fuga@localhost:18332
{"result":{"version":140000,"protocolversion":70015,"walletversion":130000,"balance":0.00000000,"blocks":4087,"timeoffset":0,"connections":8,"proxy":"","difficulty":1,"testnet":true,"keypoololdest":1490607967,"keypoolsize":100,"paytxfee":0.00000000,"relayfee":0.00001000,"errors":""},"error":null,"id":"curltext"}

いよいよpyminer動かしてみる

$ apt-get install git
$ git clone https://github.com/jgarzik/pyminer.git
$ cd pyminer
$ cp example-config.cfg config.cfg
$ vi config.cfg
-----
host=127.0.0.1
port=18332

rpcuser=hoge
rpcpass=fuga

threads=4

scantime=60
logdir=/tmp/pyminer

hashmeter=0
-----
$ apt-get install -y python2.7
$ python2.7 pyminer.py config.cfg
4 mining threads started
Mon Mar 27 15:08:07 2017 Miner Starts - 127.0.0.1:18332

動いたんだが、、、このまま何も表示されなくなった。
待っていればまた何か処理が始まるのかどうか?
も含めて次の記事で中身をおっていく

その他関連記事

NanoPi NEOでBitcoinのMining(採掘)
bitcoin-cliを使ったBitcoinAPI入門

Sponsored Link

ビットコイン(Bitcoin)、イーサリアム(Ethereum)、リップル(Ripple)、ネム(NEM)などの仮想通貨を買うならZaifがおすすめです。

特に国内でETHを購入するなら、アルトコインでも板取引に対応しているZaif(ザイフ)が割安なのでよいですよ。

コメントはまだありません

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


Ethereum(イーサリアム)
Ethereumの開発用ツールリストが公開されていた!

ALISのCTO石井さんがつぶやいてたんですが とてもありがたい #Ethereum 開発ツールの一 …

技術メモ
Counterpartyの環境構築が大変という話

暗号通貨の独自通貨を作ろうとするとEthereumが有名で簡単ですが、BitcoinでもCounte …

Ethereum(イーサリアム)
Error: The contract code couldn’t be stored, please check your gas amount.

ALISのICOソースのzeppelinバージョンを1.2から1.8にあげようとしたときにはまったエ …