从零到壹学习共识算法第二讲:go 实现简单的区块链

作者:黎跃春

孔壹学院创始人兼CEO

黎跃春:孔壹学院创始人兼CEO,国内区块链布道先行者,通信和信息技术培养工程区块链高级授课专家。如果您有任何关于区块链的问题,可以加入区块链技术交流QQ群729666975,我们会为您一一解答。

从零到壹学习共识算法为一个系列,一共18讲,包括通过一个App的演示深入理解区块链运行原理、go 实现简单的区块链、拜占庭、PoW、PoS、DPoS、Paxos、Raft等,为大家详尽的介绍共识算法的学习过程。今天我们将为大家介绍从零到壹学习共识算法第二讲:go 实现简单的区块链。话不多说,马上开启我们的共识算法学习之旅。

课程学习,添加莉莉微信kongyixueyuan。

孔壹学院

安装依赖软件

在控制台中格式化输出相应的结果。

是编写web处理程序的流行软件包。

可以从我们项目的根目录的 文件中读取数据。

实现区块链

新建 ,然后实现区块链的代码

定义区块

是区块链中数据记录的位置

是自动确定的,并且是写入数据的时间

或每分钟跳动,是你的脉率

是代表这个数据记录的SHA256标识符

是链中上一条记录的SHA256标识符

区块数组

定义 存储各个

生成区块

生成区块的 , 函数连接 ,,, 的 我们提供作为参数,并返回SHA256哈希为一个字符串。

验证区块

我们通过检查 来确保它们按预期递增。我们也检查以确保我们 的确与 前一个区块相同。最后,我们希望通过在当前块上 再次运行该函数来检查当前块的散列。让我们写一个 函数来完成所有这些事情并返回一个 。

web 服务器

使用 创建我们的服务器

主要定义路由处理,当收到 请求,就会调用 方法。当收到 请求,就会调用 方法。

获取所有区块的列表信息。

主要是生成新的区块。

主函数

允许我们从 根目录的文件 读取相应的变量。

创建初始区块。

启动 web 服务

启动web服务器

可以通过 软件模拟网络请求。

通过 访问 可以获取区块链信息。

通过 访问 可以添加新的区块信息。

通过 curl 测试

GET

源码下载

go实现简单的区块链

https://github.com/didianV5/blockchain/tree/master/blockchain

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180626G1WIGC00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券