摘要:
一.什么是IBC? IBC是链间通信协议的缩写(Inter-Blockchain Communication Protocol)。通过数据包交换在多个不同的区块链网络之间转移数据和状态信息。最初的用途更多是通过IBC协议实现跨链通证转移。IBC的目标是在两个独立的七层网络之间传递应用信息,所以需要链 阅读全文
摘要:
1.Client节点 client代表由最终用户操作的实体,它必须连接到某一个peer节点或者orderer节点上与区块链网络通信。客户端向endorser提交交易提案,当收集到足够背书后,向排序服务广播交易,进行排序,生成区块。但是该节点的故障不会影响区块链网络的正常运行。 2.CA节点 CA节点 阅读全文
摘要:
在fabric中,共识过程意味着多个节点对于某一批交易的发生顺序、合法性以及它们对账本状态的更新结构达成一致的观点。满足共识则意味着多个节点可以始终保证相同的状态,对于以同样顺序到达的交易可以进行一致的处理。 具体来看,fabric中的共识包括背书、排序和验证三个环节的保障。 我们先来研究下背书策略 阅读全文
摘要:
一.启动elasticsearch服务 官网下载压缩包解压,进入bin目录启动: ./elasticsearch 通过ip访问 localhost:9200,可以看到如下信息 { name: "n1HFjO-", cluster_name: "elasticsearch", cluster_uuid 阅读全文
摘要:
一.证书目录解析 通过cryptogen生成所有证书文件后,以peerOrgannizations的第一个组织树org1为例,每个目录和对应文件的功能如下: ca: 存放组织的根证书和对应的私钥文件,默认采用EC算法,证书为自签名。组织内的实体将基于该证书作为证书根。 tlsca:存放组织tls连接 阅读全文
摘要:
上个版本的chaincode有很多功能不完备,所以要部署新版本的chaincode。Fabric支持在保留现有状态的前提对chaincode进行升级。 一.新版chaincode 新版本的chaincode增加的功能如下: 1.增加了数据追溯功能,在社区用户发起transaction时,chainc 阅读全文
摘要:
接下来我要做的是用fabric sdk来做出应用程序,代替CLI与整个区块链网络交互。并且实现一个http API,向社区提供一个简单的接口,使社区轻松的与区块链交互。 官方虽然提供了Node.JS,Java,Go(最近刚出了python)等多种语言的SDK,但是很多SDK还不成熟和完善,有的甚至文 阅读全文
摘要:
现在所有的文件都已经准备完毕,我们可以启动fabric网络了。 一.启动orderer节点 在orderer服务器上运行: 运行完毕后我们可以使用docker ps看到运行了一个名字为orderer.example.com的容器。 二.启动peer节点 2.1安装couchdb 我们要为每一个pee 阅读全文
摘要:
前几章已经分别把三台虚拟机环境和配置文件准备好了,在启动fabric网络之前我们要准备好写好的chaincode。chaincode的开发一般是使用GO或者JAVA,而我选择的是GO语言。先分析一下官方最典型的一个chaincode--fabcar,然后着重介绍一下shim.ChaincodeSub 阅读全文
摘要:
一.生成公私钥和证书 Fabric中有两种类型的公私钥和证书,一种是给节点之前通讯安全而准备的TLS证书,另一种是用户登录和权限控制的用户证书。这些证书本来应该是由CA来颁发,但是目前只有两个社区,所以目前暂时没有启用CA节点,但是Fabric帮我们提供了一个crytogen工具来生成证书。 1.1 阅读全文