您的位置:首页 > 编程语言 > Python开发

python实现的区块链

2018-02-27 09:42 239 查看
# !/usr/bin/env python
# -*- coding:utf-8 -*-
import hashlib as hasher
import datetime as date

class Block:
def __init__(self,index,timestamp,data,previous_hash):
self.index=index
self.timestamp=timestamp
self.data=data
self.previous_hash=previous_hash
self.hash=self.hash_block(self)
def hash_block(self):
sha=hasher.sha256()
sha.update(str(self.index)+str(self.timestamp)+str(self.data)+str(self.previous_hash))
return sha.hexdigest()

#创建起源块
def create_genesis_block():
return Block(0,date.datetime.now(),'Genesis Block','0')

def next_block(last_block):
this_index=last_block.index+1
this_timestamp=date.datetime.now()
this_data='hey 我是区块链'+str(this_index)
this_hash=last_block.hash
return Block(this_index,this_timestamp,this_data,this_hash)

#创建块链并添加起源块
blockchain=[create_genesis_block()]
previous_block=blockchain[0]
num_of_block_to_add=50
for i in range(0,num_of_block_to_add):
block_to_add=next_block(previous_block)
blockchain.append(block_to_add)
previous_block=block_to_add
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: