サルが挑戦するプレーンブロックチェーンの実装

さるがプレーンブロックチェーンを実装するよ

823 views

難易度を調整する意味

ビットコインの場合、10分ごとに一つのブロックが生成される。
難しすぎても、簡単すぎてもいけない。つまり、1分でブロック生成しても、1時間でブロック生成してもいけない。
そこで、ブロック生成が10分で行えるように難易度の調整をする必要がある。

今回実装する難易度調整

ブランチ「dif」だよ

  • ブロック生成5回実行ごとに難易度調整を行う
  • ブロック生成の時間が140秒になるように調整する

実装

[出力]

ジェネシスブロックを作成中・・・
{
  "bits": 511145847,
  "block_hash": "00006b58d6f3253d9aa4cbccee63b557db52ddd5dac389d2497b7930b68512ed",
  "elapsed_time": "3.583秒",
  "index": 0,
  "nonce": 481368,
  "prev_hash": "0000000000000000000000000000000000000000000000000000000000000000",
  "stored_data": "ジェネシスブロック",
  "timestamp": "2020/09/06 11:19:44"
}
2番目のブロックを生成中・・・
{
  "bits": 511145847,
  "block_hash": "00004df0a4a958ffb742f8dd4e63e02f0a5604d2b541b10ae6b0a0758ee73c0c",
  "elapsed_time": "0.784秒",
  "index": 1,
  "nonce": 124840,
  "prev_hash": "00006b58d6f3253d9aa4cbccee63b557db52ddd5dac389d2497b7930b68512ed",
  "stored_data": "ブロック1",
  "timestamp": "2020/09/06 11:19:48"
}
#ここまで、めちゃくちゃ早い
・
・
・

23番目のブロックを生成中・・・
{
  "bits": 495426233,
  "block_hash": "000000090611422f05a329ae9407bb37f51cf9d3a53a9c92cf1d3ceeb4c81931",
  "elapsed_time": "145.507秒",
  "index": 22,
  "nonce": 21729679,
  "prev_hash": "00000081cc0e0070ddaa2cf1003b3339546ad35f24a4378dc42f8160e945db7b",
  "stored_data": "ブロック22",
  "timestamp": "2020/09/06 11:36:04"
}
24番目のブロックを生成中・・・
{
  "bits": 495426233,
  "block_hash": "0000004ff1c61e7621657cd20771386ac3e30c8051dcd6a1cb8979a1dcf50662",
  "elapsed_time": "193.876秒",
  "index": 23,
  "nonce": 29291960,
  "prev_hash": "000000090611422f05a329ae9407bb37f51cf9d3a53a9c92cf1d3ceeb4c81931",
  "stored_data": "ブロック23",
  "timestamp": "2020/09/06 11:38:29"
}
#ブロックの生成がいい感じで遅くなってる
・
・
・

Page 4 of 5.

前のページ 次のページ



[添付ファイル]


お問い合わせ

プロフィール

owl

自己紹介

駆け出しエンジニア
だいたいweb系をかじってる
最近ちょとブロックチェーンに興味出てきた

サイト/ブログ

https://github.com/owl0109

ツイッター

@kijiken1