首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

区块链是什么?用Go实践自己的区块链—区块生成与网络通信

最近区块链真是成了热门话题,微信内经常看到区块链的相关文章。。

区块链是什么?

狭义来讲,区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构, 并以密码学方式保证的不可篡改和不可伪造的分布式账本。

广义来讲,区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算范式。

区块链系统由数据层、网络层、共识层、激励层、合约层和应用层组成。 其中,数据层封装了底层数据区块以及相关的数据加密和时间戳等技术;网络层则包括分布式组网机制、数据传播机制和数据验证机制等;共识层主要封装网络节点的各类共识算法;激励层将经济因素集成到区块链技术体系中来,主要包括经济激励的发行机制和分配机制等;合约层主要封装各类脚本、算法和智能合约,是区块链可编程特性的基础;应用层则封装了区块链的各种应用场景和案例。

先run 起来main.go

go run main.go

首先创建了“创世块”,接着启动了 TCP server 并监听9000端口。

接下来我打开xshell ,打开两个窗口连接9000端口。

接下来我们输入一个BPM值:100

接着我们从刚才输入100的窗口看到新的块返回。

等待一会,第二个窗口看到广播过来的最新的链。

从上面看它能接受外部数据并改变内在数据的状态,又能将内在数据的最新状态广播出去,就是区块链的网络层。是不是挺有意思的?有兴趣的朋友可以试一下,加深你对区块链的了解,或者留言评论交流。

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

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券