Python-blockchain-creating-genesis-block

提供:Dev Guides
移動先:案内検索

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

TPCoinsの発信者は、既知のクライアント Dinesh に500 TPCoinsを最初に提供すると想定しています。 このために、彼は最初にディネシュのインスタンスを作成します-

Dinesh = Client()

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

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

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

block0 = Block()

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

block0.previous_block_hash = None
Nonce = None

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

block0.verified_transactions.append (t0)

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

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

digest = hash (block0)
last_block_hash = digest

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