LoginSignup
4
1

More than 5 years have passed since last update.

Bitcoinのtestnetに接続する

Posted at

 Bitcoinのtestnetに接続するため、githubからBitcoinのソースコードをダウンロードします。

$ git clone https://github.com/bitcoin/bitcoin.git
$ cd bitcoin

 ビルドする前に、README.mdINSTALL.mdをよく確認します。これらに直接ビルド方法が載ってなくても、どこかに何か書いてあるはずなのでよく読みます。

 どうやらINSTALL.md によると、doc/build-*.md に環境ごとのビルド方法が記載されている様です。今回はUbuntu14.04なのでdoc/build-unix.md を参照します。まずはドキュメントにあるように、依存関係のあるパッケージをインストールしておきます。

$ sudo apt-get install build-essential libtool autotools-dev automake pkg-config libssl-dev libevent-dev bsdmainutils python3
$ sudo apt-get install libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-program-options-dev libboost-test-dev libboost-thread-dev

For Ubuntu only: db4.8 packages are available here. You can add the repository and install using the following commands:

 さらに上記で示されているようにBerkeleyDB4.8をインストールします。これはPPA

$ 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 を実行するのですが、システム環境汚染を避けるためインストール先をホームディレクトリ以下に指定します。その際、--prefix オプションを使って絶対パスで指定します。

$ ./configure --prefix=/home/username/bitcoin-binary
$ make
$ make install

 make install./configureの時に--prefixオプションで指定したディレクトリにインストールされます。

$ cd /home/username
$ mkdir .bitcoin
$ vi .bitcoin/bitcoin.conf

 ~/.bitcoin/bitcoin.confにtestnet用の設定ファイルを作ります。

.bitcoin/bitcoin.conf
testnet=1
maxconnections=4
port=18333

daemon=1
server=1
rpcuser=username
rpcpassword=password
rpcallowip=127.0.0.1
rpcport=18332

 testnet=1とすることでtestnetに接続することを明示します。portrpcportのポート番号は、mainnetではそれぞれ8333と8332となりますが、あくまで慣例的なものであって、ポート番号だけ変えれば良いというわけではありません。

$ cd /home/username/bitcoin-binary/bin
$ ./bitcoind

 Bitcoinデーモンを起動し、いよいよ世間を賑わすBitcoinの、testnetへの参加です。デーモンを起動したら別の端末でログインするなどして次に進みます。

$ ./bitcoin-cli getblockchaininfo
{
  "chain": "test",
  "blocks": 175406,
  :
  (略)

 ちゃんとtestnetに接続できているか確認してみましょう。
 mainnetに接続していた場合はchainの値が"main"になります。今回はtestnet目当てなので"test"が正常です。まだBitcoinデーモンを起動したばかりなので、getblockchaininfoを呼び出すたびにblocksの値が増えて行くのが確認できます。

$ ./bitcoin-cli stop

 先ほど起動したBitcoinデーモンを停止するには上記の様にRPCクライアントから停止命令を送ります。終了までに少し時間を取る場合がありますが、慌ててbitcoindをkillしないでください。時間を掛けてダウンロードしたブロックチェーンが壊れるかもしれません。

 ところでRPCクライアントであるbitcoin-cliのパラメータについてですが公式APIコールリストに一覧がありますのでそちらをご参照下さい。


 無事、testnetに接続できたので、Bitcoin(testnet)の受け取りアドレスを作ります。

$ ./bitcoin-cli getnewaddress test
2NE9htPKFUKu4c6CMW2A96rPVrguhBiwtuY

 この様にtestnet用のアドレスは頭文字がmainnetとは異なります。1や3がmainnetとなります。今回はtestという名前の口座(アカウント)名で作りました。何も指定しないと無名口座になります。

$ ./bitcoin-cli getbalance test
0.00000000

残高0。作ったばかりなので当然ですね。そこでBitcoin testnet3 faucetでtestnet上のBitcoinを貰いに行きます。

$ ./bitcoin-cli getbalance test
1.77600132

上記のサイトでBitcoinを分けてもらいました。testnetと言えど
BLOCKCYPHERでBitcoinの流れがしっかりと記録されていることが確認できます。


Bitcoin: 1PGrE58W6921iVNTMFPAQGBsiHTx7WmdY2

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1