来源:秦皇岛达内IT教育
时间: 2021/6/17 14:51:13
小编在这里为大家推荐,秦皇岛达内IT培训17年专业IT培训机构,美国上市集团,开设IT培训班Java、python、大数据、linux、UI、会计等IT培训,泛IT培训和非IT培训共24大课程,0元试听,随到随学,推荐就业!接下来为您分享,如何使用Python创建自己的加密货币
现在,让我解释一下接下来应该怎么做……
1.建立个Block类
区块链由几个相互连接的块组成,因此,如果一个块被篡改,则链将变为无效。
在应用上述概念时,我创建了以下初始块类:
import hashlib
import time
class Block:
def __init__(self, index, proof_no, prev_hash, data, timestamp=None):
self.index = index
self.proof_no = proof_no
self.prev_hash = prev_hash
self.data = data
self.timestamp = timestamp or time.time()
@property
def calculate_hash(self):
block_of_string = "{}{}{}{}{}".format(self.index, self.proof_no,
self.prev_hash, self.data,
self.timestamp)
return hashlib.sha256(block_of_string.encode()).hexdigest()
def __repr__(self):
return "{} - {} - {} - {} - {}".format(self.index, self.proof_no,
self.prev_hash, self.data,
self.timestamp)
从上面的代码中可以看到,我定义了__init __()函数,该函数将在启动Block类时执行,就像在其他任何Python类中一样。
我为启动函数提供了以下参数:
· self-引用Block类的实例,从而可以访问与该类关联的方法和属性;
· 索引—跟踪区块链在区块链中的位置;
· proof_no-这是在创建新块(称为挖矿)期间产生的数量;
· prev_hash —这是指链中上一个块的哈希值;
· 数据-提供所有已完成交易的记录,例如购买数量;
· 时间戳记-为事务放置时间戳记。
类中的第二个方法calculate_hash将使用上述值生成块的哈希。SHA-256模块被导入到项目中,以帮助获得块的哈希值。
将值输入到密码哈希算法后,该函数将返回一个256位字符串,表示该块的内容。
这就是在区块链中实现安全性的方式-每个块都将具有哈希,并且该哈希将依赖于前一个块的哈希。
因此,如果有人试图破坏链中的任何区块,其他区块将具有无效的哈希值,从而导致整个区块链网络的破坏。
较终,一个块将如下所示:
{
"index": 2,
"proof": 21,
"prev_hash": "6e27587e8a27d6fe376d4fd9b4edc96c8890346579e5cbf558252b24a8257823",
"transactions": [
{'sender': '0', 'recipient': 'Quincy Larson', 'quantity': 1}
],
"timestamp": 1521646442.4096143
}
温馨提示:为了不影响您的时间,来校区前或者遇到不明白的问题请先电话咨询,方便我校安排相关课程的专业老师为您解答,选取适合您的课程。以上是秦皇岛达内教育的小编为您分享的关于如何使用Python创建自己的加密货币的内容,希望可以为同学们提供帮助,更多Python资讯请持续关注秦皇岛达内教育。(来自:51testing.com)