区块链简约代码

'''
import json
from hashlib import sha256

class Block:
def init(self, index, transactions, timestamp, previous_hash, data = '', nonce=0):
self.index = index
self.transactions = transactions
self.timestamp = timestamp
self.previous_hash = previous_hash
self.data = data
self.nonce = nonce

def _calculate_hash(self):
block_string = json.dumps(self.dict, sort_keys = True,indent = 4)
return sha256(block_string.encode()).hexdigest()

class Blockchain:
difficulty = 2
def proof_of_work(self, block):
block.nonce = 0
block_hash = block._calculate_hash()
while not block_hash.startswith('0' * Blockchain.difficulty):
block.nonce += 1
block_hash = block._calculate_hash()
return block_hash, block.nonce

block=Block(1,'0x98UHi7878345tH872',1987897.82,'0xiyhfashkjasd3uHH9c3018CvR')
block._calculate_hash()
blockchain=Blockchain()
block_hash,nounce=blockchain.proof_of_work(block)
print("计算结果∶" + block_hash)
print("计算次数∶" + str(nounce))

'''

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容