区块链工作量证明算法python代码
时间: 2023-10-03 13:07:19 浏览: 231
Python实现简单的区块链
以下是一个简单的工作量证明算法的 Python 代码示例:
```python
import hashlib
import time
# 定义工作量目标,要求前几位为 0
target = "0000"
# 定义难度系数
difficulty = 4
# 定义初始随机数
nonce = 0
# 定义待哈希的数据
data = "Hello, World!"
# 记录开始时间
start_time = time.time()
# 循环计算哈希值,直到满足工作量目标
while True:
# 将数据和随机数组合成新的字符串
message = data + str(nonce)
# 计算 SHA-256 哈希值
hash_value = hashlib.sha256(message.encode()).hexdigest()
# 判断哈希值是否满足工作量目标
if hash_value[:difficulty] == target:
# 打印结果并退出循环
print("Nonce: ", nonce)
print("Hash value: ", hash_value)
break
# 随机数加 1,继续计算哈希值
nonce += 1
# 记录结束时间
end_time = time.time()
# 输出计算时间
print("Time elapsed: ", end_time - start_time, "seconds")
```
需要注意的是,这只是一个简单的示例代码,实际应用中需要更加完善和安全的算法来保障区块链的安全性和稳定性。
阅读全文