Python Blockchain - Tạo Khối Genesis

Chúng tôi giả định rằng người khởi tạo TPCoins ban đầu cung cấp 500 TPCoins cho một khách hàng đã biết Dinesh. Đối với điều này, đầu tiên anh ta tạo một cá thể Dinesh -

Dinesh = Client()

Sau đó, chúng tôi tạo một giao dịch gốc và gửi 500 TPCoins đến địa chỉ công khai của Dinesh.

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

Bây giờ, chúng tôi tạo một phiên bản của Block lớp và gọi nó block0.

block0 = Block()

Chúng tôi khởi tạo previous_block_hashNonce biến phiên bản thành None, vì đây là giao dịch đầu tiên được lưu trữ trong blockchain của chúng tôi.

block0.previous_block_hash = None
Nonce = None

Tiếp theo, chúng tôi sẽ thêm giao dịch t0 ở trên vào verified_transactions danh sách được duy trì trong khối -

block0.verified_transactions.append (t0)

Tại thời điểm này, khối đã được khởi tạo hoàn toàn và sẵn sàng được thêm vào blockchain của chúng tôi. Chúng tôi sẽ tạo ra blockchain cho mục đích này. Trước khi thêm khối vào chuỗi khối, chúng tôi sẽ băm khối và lưu trữ giá trị của nó trong biến toàn cục có tênlast_block_hashmà chúng tôi đã khai báo trước đây. Giá trị này sẽ được sử dụng bởi người khai thác tiếp theo trong khối của anh ta.

Chúng tôi sử dụng hai dòng mã sau đây để băm khối và lưu trữ giá trị thông báo.

digest = hash (block0)
last_block_hash = digest

Cuối cùng, chúng tôi tạo ra một blockchain như chúng ta thấy trong chương tiếp theo.