我一直在研究具有基本随机数的区块链,但是每个应用程序重新启动时,随机数的值都会改变,而且我不知道为什么
我尝试了各种检查方式,例如while循环时,如果hash以'0'* difficulty开始,则不显示
def hash_block(self):
sha = hashlib.sha512()
sha.update( (str(self.index) + str(self.timestamp) + str(self.data) + str(self.previous_hash)).encode("utf-8") + str(self.nonce).encode() )
valid = False
if(sha.hexdigest().startswith('0'*self.difficulty)):
valid = True
while not valid:
self.nonce += 1
sha.update( (str(self.index) + str(self.timestamp) + str(self.data) + str(self.previous_hash)).encode("utf-8") + str(self.nonce).encode() )
if(sha.hexdigest().startswith('0'*self.difficulty)):
valid = True
return sha.hexdigest()
我希望随机数在应用程序重新启动之前和之后保持静态,但是当再次加载该值时,该值似乎会发生变化,我已经从JSON输出文件中进行了检查
答案 0 :(得分:0)
让晚上整夜睡觉并再次解决之后,我发现了问题,该问题是使用sha.update而不是清除先前的结果!