美文网首页
最简单区块链的python实现

最简单区块链的python实现

作者: maxZhang | 来源:发表于2018-03-24 11:09 被阅读753次

简单的记录下最近自己在学习区块链的笔记,随着比特币的价格越来越高,区块链的概念也越来越火。我简单的把区块链理解成存储数据的数据库,由一个个区块作为容器存储数据,通过hash值相互连接,类似链表结构。

简易的数据结果图
简单区块链结构图
python代码简易实现
import hashlib #导入加密模块
import time #导入时间模块

#定义一个区类,命名为maxBlockCoin
class maxBlockCoin:
    def __init__(self, index, timestamp, data, pre_hash):
        #区块中含有index(序号), timestamp(时间戳), data(交易数据), pre_hash(前一个区块的hash), hash(当前区块的hash)
        self.index = index
        self.timestamp = timestamp
        self.data = data
        self.pre_hash = pre_hash
        self.hash = self.hash_block()

    def hash_block(self):
        string = str(self.index) + str(self.timestamp) + str(self.data) + str(self.pre_hash)
        sha = hashlib.sha256()
        sha.update(string.encode("utf-8"))
        return sha.hexdigest();

# 创建第一个区块(创始区块)的方法
def create_gensis_block():
    return maxBlockCoin(0, time.time(), "first_block", "0000000")

#创建其它区块的方法
def create_block(pre_block):
    return maxBlockCoin(pre_block.index + 1, time.time(), "line_block", pre_block.hash)

# 打印出整个区块链
pre_block = create_gensis_block()
nums = 99
print(str(pre_block.index) + "---" + str(pre_block.timestamp) + "---" + str(pre_block.data) + "---hash:" +
      pre_block.hash)

for i in range(nums):
    add_block = create_block(pre_block);
    pre_block = add_block
    print(str(pre_block.index) + "---" + str(pre_block.timestamp) + "---" + str(
        pre_block.data) + "---pre_hash:" + pre_block.pre_hash + "---hash:" +
          pre_block.hash)
输出结果部分截图:
部分打印结果

相关文章

  • 最简单区块链的python实现

    简单的记录下最近自己在学习区块链的笔记,随着比特币的价格越来越高,区块链的概念也越来越火。我简单的把区块链理解成存...

  • 怎么实现区块链

    作者:BmwGaara来源:CSDN原文:关于区块链的解读和简单Python实现 区块链的官方定义是:一个分布式账...

  • 用Python实现简单的区块链系统

    本篇内容对从技术角度来解释区块链,用Python实现简单的区块链系统,进一步认识区块链的结构与原理。 1、前提条件...

  • 区块链技术最简单入门之五

    区块链技术最简单入门之五:区块链4.0推测 其实现在讨论的区块链4.0是个伪命题。因为区块链3.0的项目都还没有一...

  • 区块链技术最简单入门之四

    区块链技术最简单入门之四:区块链3.0简介 之前我们说过比特币(BTC)也就是区块链1.0网络实现了在去中心化网络...

  • 3.区块链、区块、交易简单实现

    简单的区块链、区块、交易逻辑结构与代码实现。 1.区块链逻辑结构 block_chain是一个区块链,block是...

  • 动手写个java版区块链-MkChain

    前言 之前写过两篇关于区块链的文章,今天写的是第三篇是写一个简单的区块链,通过实现最核心的模块来让整个区块链转起来...

  • python 区块链的简易实现

    区块链技术因为比特币的火爆而广受关注,我们这里用 python 代码来聊一下区块链技术: 区块链实现原理的简易描述...

  • 什么是区块链,可能是史上最简单易懂的讲解

    本文从最简单最通俗的角度拆分问题的本质,让区块链在狂欢之后回归到真正存在的意义 一、区块链 = 区块 + 链 1、...

  • 区块链技术最简单入门之三

    区块链技术最简单入门之三:以太坊的简介(区块链2.0) 之前我们说过BTC也就是比特币实现了在去中心化网络中进行价...

网友评论

      本文标题:最简单区块链的python实现

      本文链接:https://www.haomeiwen.com/subject/ychqcftx.html