Python Tạo Blockchain
Một chuỗi khối chứa một danh sách các khối được liên kết với nhau. Để lưu trữ toàn bộ danh sách, chúng tôi sẽ tạo một biến danh sách được gọi là TPCoins -
TPCoins = []
Chúng tôi cũng sẽ viết một phương thức tiện ích được gọi là dump_blockchainđể bán nội dung của toàn bộ blockchain. Đầu tiên chúng tôi in chiều dài của blockchain để chúng tôi biết có bao nhiêu khối hiện đang tồn tại trong blockchain.
def dump_blockchain (self):
print ("Number of blocks in the chain: " + str(len (self)))
Lưu ý rằng khi thời gian trôi qua, số lượng khối trong blockchain sẽ rất cao để in. Do đó, khi bạn in nội dung của blockchain, bạn có thể phải quyết định phạm vi mà bạn muốn kiểm tra. Trong đoạn mã bên dưới, chúng tôi đã in toàn bộ chuỗi khối vì chúng tôi sẽ không thêm quá nhiều khối trong bản demo hiện tại.
Để lặp lại chuỗi, chúng tôi thiết lập for vòng lặp như sau -
for x in range (len(TPCoins)):
block_temp = TPCoins[x]
Mỗi khối được tham chiếu được sao chép vào một biến tạm thời được gọi là block_temp.
Chúng tôi in số khối dưới dạng tiêu đề cho mỗi khối. Lưu ý rằng các số sẽ bắt đầu bằng 0, khối đầu tiên là khối gốc được đánh số bằng 0.
print ("block # " + str(x))
Trong mỗi khối, chúng tôi đã lưu trữ danh sách ba giao dịch (ngoại trừ khối gốc) trong một biến được gọi là verified_transactions. Chúng tôi lặp lại danh sách này trong mộtfor vòng lặp và đối với mỗi mục đã truy xuất, chúng tôi gọi display_transaction chức năng hiển thị chi tiết giao dịch.
for transaction in block_temp.verified_transactions:
display_transaction (transaction)
Toàn bộ định nghĩa hàm được hiển thị bên dưới:
def dump_blockchain (self):
print ("Number of blocks in the chain: " + str(len (self)))
for x in range (len(TPCoins)):
block_temp = TPCoins[x]
print ("block # " + str(x))
for transaction in block_temp.verified_transactions:
display_transaction (transaction)
print ('--------------')
print ('=====================================')
Lưu ý rằng ở đây chúng tôi đã chèn các dấu phân cách tại các điểm thích hợp trong mã để phân định các khối và giao dịch bên trong nó.
Vì bây giờ chúng ta đã tạo ra một blockchain để lưu trữ các khối, nhiệm vụ tiếp theo của chúng ta là tạo các khối và bắt đầu thêm nó vào blockchain. Vì mục đích này, chúng tôi sẽ thêm một khối genesis mà bạn đã tạo ở bước trước đó.