kharukaのブログ~お金と技術とキャリア~

Edu Fin~金融×教育~若いうちからお金について学ぶってだいじ!自分が学んだテクノロジーはみんなの財産!過去、今、将来の人生!についてのブログ

はじめてのBitcoinCash(0.18.2)ノード構築Part1(2018年9月30日更新)

ビットコインとブロックチェーン

ビットコインとブロックチェーン

1. BitcoinCashとは?

ビットコインキャッシュは、その単位が「BCH」と表記される仮想通貨です。実は、ビットコインキャッシュは、2017年8月1日にビットコインから分裂して誕生したという経緯があります。

個人的にはCrypto Currencyなので暗号通貨の方がしっくりきます。

仮想通貨だとVirtual Currencyになっちゃいますかね?

Bitcoinとは?

執筆中です。

2. 環境情報

OS バージョン 備考
macOS High Sierra 10.13.6 ホストOS
Oracle VM VirtualBox 5.2.18
Ubuntu 18.04.1LTS ゲストOS

3. 環境構築

▼環境構築の仕方はこちらなどをご参考に。

kharuka2016.hatenablog.com

4. BitcoinCashノード構築

1. ユーザー作成

sudo adduser <user name>

UNIX パスワード以外は適当に入力してください。

[sudo] kharuka のパスワード: 
ユーザー `<user name>' を追加しています...
新しいグループ `<user name>' (1001) を追加しています...
新しいユーザー `<user name>' (1001) をグループ `<user name>' に追加しています...
ホームディレクトリ `/home/<user name>' を作成しています...
`/etc/skel' からファイルをコピーしています...
新しい UNIX パスワードを入力してください: 
新しい UNIX パスワードを再入力してください: 
passwd: パスワードは正しく更新されました
<user name> のユーザ情報を変更中
新しい値を入力してください。標準設定値を使うならリターンを押してください
   フルネーム []: 
   部屋番号 []: 
   職場電話番号 []: 
   自宅電話番号 []: 
   その他 []: 
以上で正しいですか? [Y/n] y

作成したユーザーをsudoグループに追加します。

sudo gpasswd -a <user name> sudo

ちゃんと作成したユーザーがsudoグループに追加されたか

getent group sudo

などで確認しましょう。

2. BitcoinCashのバイナリーファイルをダウンロード

sudo su - <user name>
mkdir work
cd work
wget https://download.bitcoinabc.org/0.18.2/linux/bitcoin-abc-0.18.2-x86_64-linux-gnu.tar.gz

今回はBitcoinABCのノードをダウンロードしました。

BitcoinABCのサイトからはBitcoinCashファイルをBINARIES,SOURCE CODE, UBUNTU PACKAGESの3形式でダウンロードすることができます。

SOURCE CODE(GitHub)形式でダウンロードして、

色々頑張って(笑)

./autogen.sh
./configure
make
sudo make install

するのも楽しいので興味がある方は是非!

3. BitcoinCashのバイナリーファイルを解凍

tar -zxvf bitcoin-abc-0.18.2-x86_64-linux-gnu.tar.gz

4. BitcoinCashインストール確認

cd bitcoin-abc-0.18.2/
cd bin/
./bitcoind --version

Bitcoin ABC Daemon version v0.18.2.0-6a51d4fと表示されればOKです。

6a51d4fはcommitのversion先頭7桁です。

GitHubのcommitなどで確認してみましょう。

Bitcoin ABC Daemon version v0.18.2.0-6a51d4f
Copyright (C) 2009-2018 The Bitcoin developers

Please contribute if you find Bitcoin ABC useful. Visit
<https://www.bitcoinabc.org> for further information about the software.
The source code is available from <https://github.com/Bitcoin-ABC/bitcoin-abc>.

This is experimental software.
Distributed under the MIT software license, see the accompanying file COPYING
or <https://opensource.org/licenses/MIT>

This product includes software developed by the OpenSSL Project for use in the
OpenSSL Toolkit <https://www.openssl.org> and cryptographic software written by
Eric Young and UPnP software written by Thomas Bernard.

5. bitcoin.confファイル作成

./bitcoind -daemon

うまく?プロセス起動に失敗しない場合は、ctrl + cなどで強制終了します。

次に、homeディレクトリに直下に.bitcoinディレクトリが作成されていることを確認します。

cd
ls -a

bitcoin.confファイルを作成します。

cd .bitcoin/
touch bitcoin.conf
chmod -v 600 bitcoin.conf
vi bitcoin.conf

bitcoin.confファイルをviで次の様に編集します。

server=1
txindex=1
rpcuser=<rpcuser>
rpcpassword=<rpcpassword>
rpcport=18332
rpcallowip=127.0.0.1
debug=1
testnet=1
magneticanomalyactivationtime=1535500000
addnode=144.217.126.201

6. bitcoind起動と確認

ホームディレクトリに移動します。

cd

bitcoindの起動とプロセス起動・debug.log確認をします。

./work/bitcoin-abc-0.18.2/bin/bitcoind -daemon
ps aux | grep bitcoind
less .bitcoin/testnet3/debug.log

debug.logにERRORや以下の様なログが出ていなければ同期がスタートしているはずです。

Shutdown: In progress...

気長に同期完了を待ちましょう。

環境にもよりますが、Testnetでも数時間はかかります。

ワクワクしますねー。

7. bitcoind停止と確認

./work/bitcoin-abc-0.18.2/bin/bitcoin-cli stop
ps aux | grep bitcoind
less .bitcoin/testnet3/debug.log

debug.logに以下のログがはかれているので確認してみましょう。

Shutdown: done

8. ブロック同期確認

less .bitcoin/testnet3/debug.log

debug.logにprogress=1.000000と出ていれば

2018-09-30 04:57:12 UpdateTip: new best=000000008caa505c01d48d032f5ece35988f5e6e1c91dfe6a6c607c619987cf1 height=1258943 version=0x20000000 log2_work=69.672154 tx=16315100 date='2018-09-30 04:56:36' progress=1.000000 cache=240.0MiB(1411911txo)

同期完了です!

8. bitcoin-cliでwalletの中身を確認

./work/bitcoin-abc-0.18.2/bin/bitcoin-cli getwalletinfo

当然ですが、まだお財布の残高(balance)は0BCHです。

{
  "walletname": "wallet.dat",
  "walletversion": 160300,
  "balance": 0.00000000,
  "unconfirmed_balance": 0.00000000,
  "immature_balance": 0.00000000,
  "txcount": 0,
  "keypoololdest": 1538225306,
  "keypoolsize": 1000,
  "keypoolsize_hd_internal": 1000,
  "paytxfee": 0.00000000,
  "hdmasterkeyid": "54f1d6ecea7efe18ca11d191a5fdf9baa69316bf"
}

次回はお財布に送金をしてみましょう。

▼記事の続きは以下へ。

kharuka2016.hatenablog.com

ビットコインとブロックチェーン

ビットコインとブロックチェーン

参考