从事IT行业15年以上,曾在国内知名上市公司担任技术专家和咨询顾问,拥有丰富的研发、管理经验。精通区块链原理、核心技术与应用,曾主持过区块链在互联网金融和供应链金融领域的应用。
随着区块链概念的持续升温,越来越多的人投身到区块链中来,很多行业都将目光投向区块链,希望能够通过区块链技术来解决行业中遇到的问题。但是就区块链现状来看,还处于发展时期,需要有更多的落地应用来验证,正如互联网一样,从认知到认可是经过时间检验的。
从比特币开始,到现在众多新的区块链项目出现,区块链的层次结构可分为应用层、合约层、激励层、共识层、网络层、数据层。图1-1所示为区块链运行时各层次逻辑关系(以完整的6个层次为例)。 图1-1 区块链运行时各层次逻辑关系 区块链的运行从应用层发起,应用层是一些场景或者案例,由终端设备承载,比如pc端的软件程序或者移动端的APP应用等。
区块链网络是一个分布式网络,网络中存在众多节点,每一个节点都参与数据维护。当有新的数据加入时,所有节点都会对数据进行验证,节点间必须对处理结果达成一致才能将新加入的数据成功写入各自维护的区块链中,目的是让网络中每个节点都拥有一套完全一致的数据记录。
区块链是当下非常火爆的一个概念,因为比特币而被挖掘研究。区块链与其说是新兴技术,不如说是新的理念、新的概念,是对目前中心化系统存在问题的解决方案,是经济模式的创新。 那么什么是区块链呢?概括来讲区块链包括分布式组网机制、合约机制、共识机制、激励机制、加密机制、块链式存储结构等计算机技术。
区块链因为比特币而为大家熟知,随之而来衍生出一些优秀的项目,比较有代表性的有以太坊(Ethereum)、锯齿湖(Sawtooth Lake)、超级账本(Hyperledger)、比特股(bitshares)、瑞波(Ripple)、小蚁等,根据不同的应用场景分为应用于公众的公有链,需要授权使用的私有链和联盟链,还有在原有区块链基础上进行扩展的侧链等,随着区块链的发展,相信还会有其他形式的应用出现,任何的应用都不是绝对的,应该按实际的业务需求来定。
环境搭建完毕,需要的工具和镜像安装完毕,就可以进行chaincode测试了,接下来参考官方教程运行first-network。 进入first-netwok: cd first-network first-network的文件结构如下 在first-network目录下有两个自动化脚本byfn.sh和eyfn.sh,这两个脚本的启动顺序是先执行byfn.sh再执行eyfn.sh(eyfn.sh不是必须的,eyfn.sh的作用稍后再介绍)。
Hyperledger Fabric Samples是官方推荐的First Network,对于熟悉fabric和测试基础环境很有好处。 Fabric Samples源码下载:使用git下载源码,进入到go安装目录(可以使用命令echo $GOPATH查看go安装目录)。
在学习和开发hyperledger fabric的时候遇到了一些坑,现将自己的一些总结和心得整理如下,以期对大家有所帮助。本次使用的宿主机环境:ubuntu,版本:Ubuntu 16.04.3 LTS。