
区块链
文章平均质量分 69
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 · 2752 阅读 · 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 · 1253 阅读 · 1 评论 -
Fabric链码实例化是由组织内的哪个节点完成的?
Fabric链码实例化是由组织内的哪个节点完成的?今天,修改了链码实例化的代码,在peer0.org1 peer1.org1安装链码,实例化通过peer0.org1完成。等等,实例化通过peer0.org1完成?是的,我打算这样,方便后边看输出日志,检查代码的修改效果。产生这个想法也是因为fabric-sample的script.sh中实例化指定了组织节点。➜ fabric-sample...原创 2019-12-18 14:13:38 · 1452 阅读 · 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 · 452 阅读 · 0 评论 -
源码分析-Fabric 1.4.2 lscc启动用户链码的过程
Fabric 1.4.2 lscc启动用户链码的过程lscc负责管理链码的生命周期,其就是说链码容器的启动应该是lscc触发的。但是链码容器是如何从peer chaincode instantiate 触发实例化命令到peer服务完成链码的实例化,即链码容器的启动,看了一些网上的资料机会没有讲这块的。也因为又这块二次开发的需求,所以追踪了一下从lscc到用户链码容器启动的全过程,在此记录一下。...原创 2019-10-28 16:05:49 · 1802 阅读 · 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 · 1344 阅读 · 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 · 4211 阅读 · 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 · 1028 阅读 · 2 评论 -
Fabric solo源码分析1
Fabric solo算法该算法较为简单,主要的处理逻辑在solo.main方法上。func (ch *chain) Halt()solo支持多通道停止算法,当有多个通道要停止算法,各个通道都会发送exitChan,solo会在接收到所有的exitChan才会close该exiChan让solo停止。但是多个通道怎么体现,怎么进行的,待分析。<未完成>//这里为什么用sele...原创 2019-04-30 17:59:11 · 371 阅读 · 0 评论 -
Fabric.Peer源码分析
Fabric.Peer源码分析这部分,主要分析链码安装到实例化(启动容器)的过程。操作链码是通过peer chaincode命令进行的,这就是我们所谓的一个命令行的客户端,通过它我们就可以和fabric交互,注意peer node start启动的peer服务,即启动一个peer节点。以下是从e2e_cli/scripts/scripts.sh提取的安装、实例化链码的命令,注意该命令前,要先完...原创 2019-06-07 11:18:00 · 659 阅读 · 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 · 360 阅读 · 0 评论 -
Hyperledger Fabric是否受EAR影响?
Hyperledger Fabric是否受EAR影响?Linux基金会关于华为实体清单的回应 :https://www.linuxfoundation.org/blog/2019/05/linux-foundation-statement-on-huawei-entity-list-ruling/开源软件不涉及加密:Linux Foundation是一个免费的开源软件组织,其项目社区公开发...原创 2019-06-10 15:53:09 · 415 阅读 · 0 评论 -
分析IBM官方k8s部署fabric的方案
分析IBM官方k8s部署fabric的方案分析之前我们测试了IBM官方的k8s部署fabric的方案,比我们之间手动在k8s部署fabric要简洁与方便,所以,就想看看IBM究竟是怎么处理的。我们之前,用k8s部署了fabric的各个组件,但是链码我们是直接运行在节点上的,并且是需要为每个节点的Docker配置k8s集群的DNS,所以还不能完全手动,也就是说这种部署方案,并没有将链码容器纳入到...原创 2019-07-04 17:30:52 · 2756 阅读 · 14 评论 -
HDFS NFS Gateway
HDFS NFS Gatewaylabel: 分布式存储、hdfs、nfs最近我们在做一些区块链可靠性的东西,在存储方面我们知道区块链的数据是只增不减的,所以就会造成磁盘占用空间持续上涨,迟早有一天会塞满真个磁盘,而我们要思考的就是如何解决这个问题。在存储这块,我们读的轮文大多是从区块、账本的数据结构优化出发的,目的就是减少磁盘占用,我一直觉得占用是少了点,但终究会沾满空间,也只是比为优化的账...原创 2019-09-11 16:09:39 · 700 阅读 · 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 · 1296 阅读 · 2 评论 -
Fabric solo源码分析之单元测试部分(2)
Fabric-Solo:func TestLargeMsgStyleMultiBatch(t *testing.T)该函数,测试遇到一个内容较大的交易时,将其单独成块的功能。处理包括:清理之前的交易,尽管还未满足成块条件,但为了满足交易的出块顺序,此时会将其分割成块;接着,将此次内容较大的交易单独成块;最后将这两个块的内容返回,写入账本。具体操作在 mock下package blo...原创 2019-05-05 16:48:57 · 467 阅读 · 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 · 2202 阅读 · 1 评论 -
fabric网络搭建
1.编译工具在运行网络时,fabric会自动编译2.镜像什么的在运行demo时,会自动拉取到合适的,无需专门去下载原创 2018-08-03 19:37:08 · 1847 阅读 · 0 评论 -
fabric网络搭建问题汇集
fabric环境搭建搭建fabric网络踩的最大坑就是sudo权限问题。平常运行需要权限的命令都直接用sudo即可。但是在fabric网络主要是docker,需要权限,通过sudo启动镜像,总是在访问peer时,发生异常,并且提示的内容与权限问题无关。踩了很久的坑,无意间,对docker免了sudo,重启系统,fabric网络搭建完成。搭建过程参考官方文档搭建中的若干问题正常流程...原创 2018-07-24 17:31:58 · 3321 阅读 · 0 评论 -
用vagrant 搭建fabric
用vagrant 搭建fabric吐槽:由于Q的原因,很多东西超时,导致很多错误,其次书中的教程并没有详细的提供解决方案...经历的两次大坑 1.grpcio长时间安装没有动静,因为经常启动时,经常发上超时失败,所以经常把这个长时间没有任何输出的,认为失败的状态。因为偷懒,看了会视频,返回看了一眼,居然过了。。。 2.栽倒在gotools,查了资料,手动下载too...原创 2018-08-18 11:11:09 · 1258 阅读 · 0 评论 -
fabric e2e_cli启动流程分析
fabric e2e_cli启动流程分析 e2e_cli实例,包含了证书生成、容器操作、couchdb管理,这里只简 单分析了e2e_cli启动关闭脚本network_setup.sh,doker-compose 容器管理待分析.fabric e2e_cli启动流程如下: ...原创 2018-08-29 11:22:52 · 557 阅读 · 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 · 4186 阅读 · 4 评论 -
Hyperledger fabric with one org
Hyperledger fabric with one org 之所以,为测试单组织,是因为之前部署fabric到k8s上,遇到了一系列问题,所以为了简 化,直接修改为一个组织的形式,但一路踩坑下来,k8s部署其他容器+docker-compose部署 zookeeper、kafka(k8s部署kafka一直有问题),成功安装链码,但是在实例化上一直失败; 再简化,直接修改e2e...原创 2018-09-28 20:09:10 · 638 阅读 · 0 评论 -
IBM微讲堂“区块链和HyperLedger系列”练习题
IBM微讲堂“区块链和HyperLedger系列”第四讲对于ChainCode的概念,下面描述正确的是:[多选题] 一个接口的实现代码 Fabric区块链系统中所有变量的值的集合 //这是word state的描述 部署在Fabric区块链网络结点上 与Fabric区块链交互的唯一渠道 生成Transaction的唯一来源 智能合约在Fabric上的实现方式在F...原创 2018-10-07 20:11:42 · 3030 阅读 · 1 评论 -
以太坊部署调用合约
以太坊实验在自己的电脑上安装配置以太坊开发环境,搭建以太坊私有链,编写一个简单的智能合约,通过以太坊JSON RPC 和JavaScript API编程接口将其部署到所创建的以太坊私有链,并可调用合约获得正确的合约执行结果。本次作业的最终提交物是一个描述上述过程的完整文档,请把整个过程用文字和截图描述清楚。本机已经安装go安装以太坊Ethereumbrew updatebrew ...原创 2018-10-27 21:42:29 · 2046 阅读 · 0 评论 -
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 · 1134 阅读 · 0 评论 -
fabric-go-sdk使用中的若干问题
fabric-go-sdk使用中的若干问题–连接e2e网络problemlocalhost:heroes-service liu$ go run main.go SDK createdRessource management client createdChannel createdChannel joinedInitialization SuccessfulccPkg cre...原创 2018-12-21 23:38:29 · 4053 阅读 · 4 评论 -
关于base64
关于base64在fabric、k8s中常见到base64,对其不是很了解,查阅资料发现,原来,他不是一种加密, 只是一种编码转发方法,其目的是将二进制转化为accii后,一些控制符不可见,故,通过 base64,将其转化成可见的字符,方便复制粘贴,常见于证书、邮件等。1.标准base64只有64个字符(英文大小写、数字和+、/)以及用作后缀等号;2.base64是把3个字节变成...原创 2018-12-22 11:12:21 · 504 阅读 · 0 评论 -
原子广播
原子广播学区块链这么久,对原子广播这个早有听说,但一直不明白其具体内涵,查阅wiki,原子广播是一个分布式原语,其保证各节点收到并相同次序的消息并处理或者没有副作用的中止操作。In fault-tolerant distributed computing, an atomic broadcast or total order broadcast is a broadcast where al...原创 2019-04-10 16:49:51 · 2389 阅读 · 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 · 644 阅读 · 0 评论 -
关于go在函数退出后子协程的退出问题
关于go在函数退出后子协程的退出问题该问题来源于自己在读fabric源码时,看到的一个测试代码,在一个函数中启用协程,然后该函数退出了,由于平常没有这样处理过,以及受原有c++函数域的影响,认为函数退出,子协程应该也退出了呀。这其实是自己对go协程的理解不到位引起的,go的协程作用域不是在某个函数中的,而是调用它的那个协程下的,也就是说,外部协程退出,该协程就会被强制退出,而不是有那个函数的退...原创 2019-04-14 22:43:43 · 15269 阅读 · 9 评论 -
fabric执行合约中的函数调用
本文主要讲解,peer命令中,fabric chaincode函数处理逻辑。这里把区块链看成了一个分布式数据库,操作逻辑也相似。 当内部细节封装好后,提供给用户的就是一个数据库的操作逻辑。实际中通过打印日志(go package log)到文件中,探究fabric chaincode的调用过程原创 2018-07-30 10:46:04 · 2843 阅读 · 0 评论