$ビットコイン (BTC.CC)$ ハッシュライブラリをインポートします インポート日時 クラスブロック: def _...
クラスブロック:
def __init__(自己、インデックス、以前のハッシュ、タイムスタンプ、データ、ノンス=0):
セルフインデックス = インデックス
セルフ.プレビウス_ハッシュ = プレビウス_ハッシュ
self.タイムスタンプ=タイムスタンプ
自己データ = データ
self.nonce=ナンス
自己ハッシュ=自己計算_ハッシュ ()
def __init__(自己、インデックス、以前のハッシュ、タイムスタンプ、データ、ノンス=0):
セルフインデックス = インデックス
セルフ.プレビウス_ハッシュ = プレビウス_ハッシュ
self.タイムスタンプ=タイムスタンプ
自己データ = データ
self.nonce=ナンス
自己ハッシュ=自己計算_ハッシュ ()
def計算_ハッシュ(自己):
hashlib.sha256 ((str (self.index) + self.previous_hash + str (セルフタイムスタンプ) + self.data + str (self.nonce)) .encode ()) .hexdigest ()
hashlib.sha256 ((str (self.index) + self.previous_hash + str (セルフタイムスタンプ) + self.data + str (self.nonce)) .encode ()) .hexdigest ()
クラスブロックチェーン:
def __init__(セルフ):
セルフチェーン = [セルフ?$#@$エイト_ジェネシス_ブロック ()]
def __init__(セルフ):
セルフチェーン = [セルフ?$#@$エイト_ジェネシス_ブロック ()]
def create_genesis_block(セルフ):
リターンブロック(0、「0"、datetime.datetime.now ()、「ジェネシスブロック」)
リターンブロック(0、「0"、datetime.datetime.now ()、「ジェネシスブロック」)
def add_block(自己、新しいブロック):
新しい_ブロック.以前の_ハッシュ = セルフチェーン [-1] .ハッシュ
新しい_ブロック.ハッシュ = 新しい_ブロック.計算_ハッシュ ()
セルフチェーン、アペンド(新ブロック)
新しい_ブロック.以前の_ハッシュ = セルフチェーン [-1] .ハッシュ
新しい_ブロック.ハッシュ = 新しい_ブロック.計算_ハッシュ ()
セルフチェーン、アペンド(新ブロック)
def proof_of_work(自己、ブロック、難易度):
一方、ブロック.ハッシュ [:難易度]!= '0' * 難易度:
ブロック.ナンス += 1
ブロック.ハッシュ = ブロック.計算_ハッシュ ()
print (「ブロックマイニング:」、ブロック.ハッシュ)
一方、ブロック.ハッシュ [:難易度]!= '0' * 難易度:
ブロック.ナンス += 1
ブロック.ハッシュ = ブロック.計算_ハッシュ ()
print (「ブロックマイニング:」、ブロック.ハッシュ)
# 使用例
難易度 = 4# ハッシュ出力の開始時に必要なゼロの数
ブロックチェーン = ブロックチェーン ()
難易度 = 4# ハッシュ出力の開始時に必要なゼロの数
ブロックチェーン = ブロックチェーン ()
# マイニング・ジェネシス・ブロック
ブロックチェーン。プルーフオブワーク(ブロックチェーン。チェーン [0]、難易度)
print(「ジェネシスブロックマイニング」)
ブロックチェーン。プルーフオブワーク(ブロックチェーン。チェーン [0]、難易度)
print(「ジェネシスブロックマイニング」)
# ブロックを追加する
ブロック数 = 3
(1、ブロック数+ 1)の範囲内のiの場合:
new_block = ブロック (i,「」, datetime.datetime.now (),「ブロック」+ str (i))
ブロックチェーン。プルーフオブワーク(新しいブロック、難易度)
ブロックチェーン. 追加ブロック (新規ブロック)
print (「Block」、i、「ブロックチェーンに追加」)
ブロック数 = 3
(1、ブロック数+ 1)の範囲内のiの場合:
new_block = ブロック (i,「」, datetime.datetime.now (),「ブロック」+ str (i))
ブロックチェーン。プルーフオブワーク(新しいブロック、難易度)
ブロックチェーン. 追加ブロック (新規ブロック)
print (「Block」、i、「ブロックチェーンに追加」)
免責事項:このコミュニティは、Moomoo Technologies Inc.が教育目的でのみ提供するものです。
さらに詳しい情報
コメント
サインインコメントをする
104686276 : 私はあなたに手がかりを与えます。BTCキャンドルジェネシスだけをチェックしているだけでは十分ではありません。例えば、いくつかの企業の株式ジェネシスにリンクされているかどうかを確認する必要があります。その場合、フローのジェネシスとソースを見ることができます。それから、なぜそれが騰落するのかを本当に理解できます。そのコーディングがすべてを説明してくれるはずです。すると、ゲームプランは「少し」簡単になります。