RealPath:
WebPath:
2017/01/06 17:58 (JST) 更新
regtest環境 >>

regtest環境におけるブロック生成

Contents

regtest 環境ではマシンパワーをほぼ使わずに generate コマンドにより自由にブロックを生成することができる。

ブロック生成コマンド: generate

以下コマンドで 5 ブロックを生成。(処理はほぼ一瞬で完了する)

# bitcoin-cli generate 5
[
  "2293b880bd8546b3c711ab5a2c2aea6acf85c5399f74e9650991f0f5b06f7685", ← 生成されたブロックのハッシュ値
  "331246fcd38d2d8c8b6cf99c011a70430389762c3a4f4de45a355fe9c25c5414", ← 生成されたブロックのハッシュ値
  "4f89d125b4a5ecc5486b6ba5dc5cd114a041c2c249ee0a958274fd33e7b67ebf", ← 生成されたブロックのハッシュ値
  "55c8b25cb753f24f72b0cec6980b4132cc5730ad823e42ff23c99db025f6f519", ← 生成されたブロックのハッシュ値
  "183286286a09a62e476ccca442706de6a0a239b2da9339d0eeb2396a56247175"  ← 生成されたブロックのハッシュ値
]

結果確認

# bitcoin-cli getblockchaininfo
{
  "chain": "regtest",
  "blocks": 5, ← ★ブロック数が 5 に増えた
  "headers": 5, ← ★ブロック数が 5 に増えた
  "bestblockhash": "183286286a09a62e476ccca442706de6a0a239b2da9339d0eeb2396a56247175", ← ★最終ブロックのハッシュ
  ....

 
5ブロック生成しただけでは報酬の BTC はまだ発生しない。

# bitcoin-cli getbalance
0.00000000

追加ブロック生成

先頭ブロックに対する報酬を発生させるためには101個のブロック生成が必要となる(理由は先述)。
上で既に 5 ブロックを生成したので追加で 96 ブロックを以下コマンドにより生成してみる。

# bitcoin-cli generate 96
[
  "38620629ca821025617d688682db1fb3a0fc7b6f42d44696c25094648f8fe0f6",
  ....
  "5bb3ef7ef69e4d61b61213bc76cf06fa67aaaae5b2c1db2e58918ae05a3b8ec0"
]

# bitcoin-cli getblockchaininfo
{
  "chain": "regtest",
  "blocks": 101, ← ★さっきの5ブロックに加えて96ブロック追加。計101ブロック。
  "headers": 101, ← ★さっきの5ブロックに加えて96ブロック追加。計101ブロック。
  "bestblockhash": "5bb3ef7ef69e4d61b61213bc76cf06fa67aaaae5b2c1db2e58918ae05a3b8ec0", ← ★最終ブロックのハッシュ
  .....

# bitcoin-cli getbalance
50.00000000

先頭の1ブロック分の生成報酬として 50 BTC がもらえた。

 
これ以降は1ブロック毎に 50 BTC ずつ残高が増えていく。

# bitcoin-cli generate 1
[
  "209d5360317dfa3e7e0198b828f42fd495a7bc878803b2c5d10181a777d0c7c5"
]

# bitcoin-cli getbalance
100.00000000

# bitcoin-cli generate 3
[
  "495f7a7a9d4eff533350e6f460f481ab1ab6939e78c907d242276544a773d6e5",
  "34d154422f2cc332a3a636ff579aa76197f75309830f81fa688e998d710b5ad4",
  "74c5af2b5ded62485741a090b3748d18127a3aebc296cea340499ff238ee58f7"
]

# bitcoin-cli getbalance
250.00000000

 
listaccounts によりアカウント毎の残高を見ると、空文字列名のアカウント(これがデフォルトのアカウント)に対して BTC が振り込まれていることが確認できる。

# bitcoin-cli listaccounts
{
  "": 250.00000000,
  "koba1": 0.00000000,
  "koba2": 0.00000000
}