Pythonブロックチェーン-ジェネシスブロックの作成

TPCoinsの発信者は、最初に500個のTPCoinを既知のクライアントに配布すると想定しています。 Dinesh。このために、彼は最初にDineshインスタンスを作成します-

Dinesh = Client()

次に、ジェネシストランザクションを作成し、500個のTPCoinをDineshのパブリックアドレスに送信します。

t0 = Transaction (
   "Genesis",
   Dinesh.identity,
   500.0
)

ここで、のインスタンスを作成します Block クラスとそれを呼び出す block0

block0 = Block()

初期化します previous_block_hash そして Nonce インスタンス変数から None、これはブロックチェーンに保存される最初のトランザクションであるためです。

block0.previous_block_hash = None
Nonce = None

次に、上記のt0トランザクションをに追加します verified_transactions ブロック内で維持されるリスト-

block0.verified_transactions.append (t0)

この時点で、ブロックは完全に初期化され、ブロックチェーンに追加する準備ができています。この目的のためにブロックチェーンを作成します。ブロックをブロックチェーンに追加する前に、ブロックをハッシュして、その値をというグローバル変数に格納します。last_block_hash以前に宣言したこと。この値は、ブロック内の次のマイナーによって使用されます。

ブロックのハッシュとダイジェスト値の格納には、次の2行のコーディングを使用します。

digest = hash (block0)
last_block_hash = digest

最後に、次の章で説明するように、ブロックチェーンを作成します。