![](https://img-blog.csdnimg.cn/20190505211017962.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Hyperledger Fabric
文章平均质量分 77
源码分析、服务部署、区块链相关咨讯
longtails
:(){ :|:& };: 术业专攻
展开
-
fabirc1.2 e2e_cli遇到的问题:Ordering Service is not available
fabirc1.2 e2e_cli遇到的问题昨天遇到了一个很奇怪的问题,新拉下来的Fabric代码,指定1.2版本后,启动e2e_cli demo,突然orderer不可用了!并且在本机mac上做了测试,可用;最近的两台云主机都尚未运行过fabric,应该不是什么文件残留的问题;并且重装云服务器系统后,也还是改问题。具体报错如下,单独运行orderer容器,得到输出日志,看到是证书验证失败...原创 2019-02-25 11:42:56 · 2700 阅读 · 0 评论 -
编译ccenv若干问题
编译ccenv若干问题编译ccenv的基本问题➜ fabric-dev git:(master) ✗ make ccenvmkdir -p .build/image/ccenv/payloadcp .build/docker/gotools/bin/protoc-gen-go .build/bin/chaintool .build/goshim.tar.bz2 .build/image/...原创 2019-12-22 22:41:12 · 934 阅读 · 0 评论 -
undefined: proto.ProtoPackageIsVersion3
undefined: proto.ProtoPackageIsVersion3Hyperledger Fabric使用了大量的grpc,如果需要修改客户端和服务端的通信消息,就需要修改相关的proto文件。按照gRPC官网的教程,安装gRPC、Protocol BUffers v3以及protoc的Go插件,并测试google.golang.org/grpc/examples/hellowor...原创 2019-12-19 18:04:36 · 3467 阅读 · 0 评论 -
Fabric make peer-docker: bzip2 data invalid:bad magic value
Fabric make error on macmake peer-docker-clean时发生bzip2 data invalid:bad magic value错误。liu@liudeMacBook-Pro fabric % make peer-docker-cleandocker images --quiet --filter=reference='hyperledger/fabri...原创 2019-12-19 14:52:05 · 1192 阅读 · 1 评论 -
Fabric No rule to make target(二)
Fabric No rule to make target(二)最近,基于Fabric开发自己的分支,删除了Fabric官方的.git文件,并重新初始化了源代码,加入到了自己的私有仓库中,方便追踪管理第三方修改。实际上这些没必要,反而增加了工作量,带来了一个无法make的bug,本文解析此次Debug过程。修改完Fabric代码后,直接在Fabric root下make相关内容,但是自从修改了...原创 2019-12-18 22:43:02 · 751 阅读 · 1 评论 -
Fabric链码实例化是由组织内的哪个节点完成的?
Fabric链码实例化是由组织内的哪个节点完成的?今天,修改了链码实例化的代码,在peer0.org1 peer1.org1安装链码,实例化通过peer0.org1完成。等等,实例化通过peer0.org1完成?是的,我打算这样,方便后边看输出日志,检查代码的修改效果。产生这个想法也是因为fabric-sample的script.sh中实例化指定了组织节点。➜ fabric-sample...原创 2019-12-18 14:13:38 · 1352 阅读 · 0 评论 -
Hyperledger Fabric make: *** No rule to make target问题(一)
Hyperledger Fabric make: *** No rule to make target问题最近一段时间,改Fabric代码,发现没法编译了!make总是报找不到target!➜ fabric git:(master) ✗ make configtxgenmake: *** No rule to make target `.build/bin/configtxgen', ne...原创 2019-12-16 20:11:25 · 1120 阅读 · 0 评论 -
Fabric Docker Start 分析
Fabric Docker Start 分析Fabric Docker Start启动过程分析,这里主要对dockercontroller.go/Start进行分析。fabric/core/container/dockercontroller/dockercontroller.go/Start是链码容器启动的执行函数,这里详细分析该函数,解析各个过程// Start starts a c...原创 2019-12-09 16:11:56 · 423 阅读 · 0 评论 -
源码分析-Fabric 1.4.2 lscc启动用户链码的过程
Fabric 1.4.2 lscc启动用户链码的过程lscc负责管理链码的生命周期,其就是说链码容器的启动应该是lscc触发的。但是链码容器是如何从peer chaincode instantiate 触发实例化命令到peer服务完成链码的实例化,即链码容器的启动,看了一些网上的资料机会没有讲这块的。也因为又这块二次开发的需求,所以追踪了一下从lscc到用户链码容器启动的全过程,在此记录一下。...原创 2019-10-28 16:05:49 · 1751 阅读 · 0 评论 -
Fabric.Peer.Node源码分析(1)
Fabric.Peer.Node源码分析(1)start函数有400+行…测试node下的start_test.go文件(fabric/peer/node/start_test.go)func TestStartCmd(t *testing.T):首先设置peer的一些参数,包括peer.address,peer.listenAdderess,peer.chaincodeListenAd...原创 2019-06-10 13:20:16 · 324 阅读 · 0 评论 -
Fabric.Peer源码分析
Fabric.Peer源码分析这部分,主要分析链码安装到实例化(启动容器)的过程。操作链码是通过peer chaincode命令进行的,这就是我们所谓的一个命令行的客户端,通过它我们就可以和fabric交互,注意peer node start启动的peer服务,即启动一个peer节点。以下是从e2e_cli/scripts/scripts.sh提取的安装、实例化链码的命令,注意该命令前,要先完...原创 2019-06-07 11:18:00 · 626 阅读 · 0 评论 -
k8s部署fabric-kafka
k8s部署fabric-kafka在k8s上部署fabric witch kafka consensus,相比之前部署fabric with solo consensus的区别就在于多了一个zk/kfk集群,在我们部署好zk/kfk后,对fabric.solo简单修改即可应用。回顾一下,fabric.solo上解决了哪些问题:docker dns,即在宿主机上启动链码容器,并保持链码容器和...原创 2019-05-18 17:53:31 · 1292 阅读 · 2 评论 -
Fabric-solo on k8s
Fabric-solo on k8s本文主要内容:为简化实验,将e2e_cli多组织,改为单组织,部署solo共识算法,此时无需kafka/zookeeper集群,另,e2e_cli demo不需要ca等将e2e_cli下orderer、peer0.org1、peer1.org1、cli等docker-compose yaml文件转化为k8s文件搭建k8s with flannel集群...原创 2019-05-09 12:43:04 · 990 阅读 · 2 评论 -
IBM官方的Fabric on k8s部署方案
IBM官方的Fabric on k8s部署方案IBM官方提供的fabric在k8s上的部署方案,目前也只看到了solo,该方案可能也只是在测试用的,不同于其它通过nfs共享配置的方式,ibm通过k8s的pv/pvc存储实现共享配置。该方案,基本上上是纯k8s环境,无需其他修改便可直接使用,这点还是很方便的,比自己之前爬坑手动部署要可爱多了。但还有一点不确定,就是ibm是如何实例化代码的,实例化后...原创 2019-05-11 17:34:03 · 4167 阅读 · 2 评论 -
fabric网络搭建
1.编译工具在运行网络时,fabric会自动编译2.镜像什么的在运行demo时,会自动拉取到合适的,无需专门去下载原创 2018-08-03 19:37:08 · 1801 阅读 · 0 评论 -
fabric执行合约中的函数调用
本文主要讲解,peer命令中,fabric chaincode函数处理逻辑。这里把区块链看成了一个分布式数据库,操作逻辑也相似。 当内部细节封装好后,提供给用户的就是一个数据库的操作逻辑。实际中通过打印日志(go package log)到文件中,探究fabric chaincode的调用过程原创 2018-07-30 10:46:04 · 2803 阅读 · 0 评论 -
用vagrant 搭建fabric
用vagrant 搭建fabric吐槽:由于Q的原因,很多东西超时,导致很多错误,其次书中的教程并没有详细的提供解决方案...经历的两次大坑 1.grpcio长时间安装没有动静,因为经常启动时,经常发上超时失败,所以经常把这个长时间没有任何输出的,认为失败的状态。因为偷懒,看了会视频,返回看了一眼,居然过了。。。 2.栽倒在gotools,查了资料,手动下载too...原创 2018-08-18 11:11:09 · 1189 阅读 · 0 评论 -
阿里云ubuntu16.04运行Fabric1.2 e2e_cli
阿里云ubuntu16.04运行Fabric1.2 e2e_cli 参加阿里云天池区块俩比赛,在kubernetes运行fabric,但是总是遇到读不到块的问题,后打算,直接在阿里云服务器上先启动fabric网络,example中first network成功启动,但是运行e2e_cli时,遇到了一大堆坑 不得不说,现在kubernetes和fabric都在快速变化,总是有各种问题,需要...原创 2018-09-11 23:08:07 · 4135 阅读 · 4 评论 -
Fabric多机部署-e2e
Fabric多机部署-e2e测试环境为三台华为云ECS主机,加入在同一虚拟子网中;实验将fabric/example/e2e_cli进行修改测试多机部署;三个node上的fabric环境一致,需要修改e2e配置文件;fabric v1.4已经移除e2e demo,本次版本为fabric v1.2。部署环境nodeorg192.168.0.145orderer...原创 2018-12-27 11:24:09 · 1106 阅读 · 0 评论 -
Fabric笔记-Orderer
第五讲 Orderer解析 (IBM 开放技术*微讲堂 超级账本Fabric v1.4 LTS系列课程)大纲:原子广播(全排序)channelssolo/kafka/raftpermission in OrdererFabric的Execute-Order-Validate共识模型,即先执行再排序最后验证的过程。一个交易的生命周期:client先想peer提交一个议案;p...原创 2019-05-05 15:46:20 · 2156 阅读 · 1 评论 -
Fabric solo源码分析之单元测试部分(2)
Fabric-Solo:func TestLargeMsgStyleMultiBatch(t *testing.T)该函数,测试遇到一个内容较大的交易时,将其单独成块的功能。处理包括:清理之前的交易,尽管还未满足成块条件,但为了满足交易的出块顺序,此时会将其分割成块;接着,将此次内容较大的交易单独成块;最后将这两个块的内容返回,写入账本。具体操作在 mock下package blo...原创 2019-05-05 16:48:57 · 416 阅读 · 0 评论 -
Fabric solo源码之单元测试部分(1)
这里分析TestHaltBeforeTimeout(t *testing.T)的数据流,主要包括三个部分:启动solo算法,Test调用goWithWait启动solo算法调用syncQueueMessage小消息加入到处理队列中,其角色类似客户端模拟执行,solo算法中,调用 chain.support.BlockCutter().Ordered(msg.normalMsg)模拟执...原创 2019-04-16 22:38:44 · 592 阅读 · 0 评论 -
HDFS NFS Gateway
HDFS NFS Gatewaylabel: 分布式存储、hdfs、nfs最近我们在做一些区块链可靠性的东西,在存储方面我们知道区块链的数据是只增不减的,所以就会造成磁盘占用空间持续上涨,迟早有一天会塞满真个磁盘,而我们要思考的就是如何解决这个问题。在存储这块,我们读的轮文大多是从区块、账本的数据结构优化出发的,目的就是减少磁盘占用,我一直觉得占用是少了点,但终究会沾满空间,也只是比为优化的账...原创 2019-09-11 16:09:39 · 656 阅读 · 0 评论 -
IBM第五讲 Orderer解析-笔记
IBM第五讲 Orderer解析OUTLINE:Atomic Broadcast(Total Order)ChannelsSolo/Kafka/RaftPermission in OrdererAtomic Broadcast(Total Order):Execute-Order-Validate共识模型交易过程:Client向Peer发送议案(proposal:A->B...原创 2019-09-16 20:46:58 · 1255 阅读 · 2 评论 -
分析IBM官方k8s部署fabric的方案
分析IBM官方k8s部署fabric的方案分析之前我们测试了IBM官方的k8s部署fabric的方案,比我们之间手动在k8s部署fabric要简洁与方便,所以,就想看看IBM究竟是怎么处理的。我们之前,用k8s部署了fabric的各个组件,但是链码我们是直接运行在节点上的,并且是需要为每个节点的Docker配置k8s集群的DNS,所以还不能完全手动,也就是说这种部署方案,并没有将链码容器纳入到...原创 2019-07-04 17:30:52 · 2695 阅读 · 14 评论