hyperledger
文章平均质量分 75
胡杨0糖糖0
以前写前端,主要还是搞了ExtJS这种大框架。现在在搞VTK+ITK+QT的图像分割平台
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
学习记录:fabric(6)- 系统设计(3)
新开一节,继续项目把mysql打包进peer的镜像里给peer添加深入检查peer的广播和通信,将对数据库同步机制放进去密钥先写到core.yaml中,或者包括一些自定义配置也可以加进去。考虑如何将结果返回到客户端。也许可以直接共识成功即发送给链码,这里就需要假设保存到数据库一定成功了。记录不知道为啥docker非常慢。生成docker很慢,似乎是因为下载东西,但是这也不好弄,现在没有v2ray的链接可以用了。手贱,就不该删除docker的缓存。不过也是没办法,电脑上的空间太小了,光虚拟机原创 2021-09-20 08:59:49 · 6494 阅读 · 0 评论 -
学习记录:fabric(10)- fabric本身编译(2)
分析编译完成就是来分析一下代码,为了接下来的修改。已经有很多对源码的分析,但是看日期都是18年左右,肯定都是1.x版本(甚至是0.8),2.x改变了链码的调用部分,我关注的恰恰是这部分,所以还是得自己动手看。我看的版本是2.3。还是有一些不同,看的过程我也记下来,方便以后查看。fabric编译:fabric的docker镜像,在make之后,会直接加入到docker的镜像列表里。整体结构fabric从网上git下来就是如下的结构: 我这里用goland打开了项目。文件和文件夹很多,build原创 2021-09-09 14:59:37 · 8498 阅读 · 1 评论 -
学习记录:fabric(6)- 系统问题(长期更改)
项目问题列举一些没有实现的TODO放在这里,后续跟进。TODOListconfig文件还是得做成外部文件,用程序生成没有权限,那么可能需要封装进docker镜像,自己弄一个镜像进去。这样链码可以读取的到。数据加密表权限节点同步—主要是掉线重连之后或自主清空数据,正常情况下是都可以跟进的。数据库的连接管理...原创 2021-08-30 13:47:24 · 178 阅读 · 0 评论 -
学习记录:fabric(6)- 系统设计(2)
新开一节,继续做项目出现一个很有趣的问题,ENDORSEMENT_POLICY_FAILURE。官网教程可以搜得到,但其实不是那样的。后来发现是我调用mysql,创建表,然后肯定另一个节点运行不通啊。。。那一个节点成功,另一个不成功,那肯定返回出错呀。。。所以这就需要考虑到背书阶段,看看怎么在背书之后再执行。现在两个思路,1,如果能够找到入口,那就可以;2,不行就用定时器,任务队列这样。3.两步法,第一步日志上链,返回交易id,第二步调用交易id执行命令ExecTx2SQL。所以,现在以便排除这个原创 2021-07-26 10:55:57 · 3697 阅读 · 1 评论 -
学习记录:fabric(8)- fabric的go包
github.com/hyperledger:fabric-protos-goThis repository contains the Hyperledger Fabric grpc service and protocol buffer bindings for go.grpc服务和协议fabric-sdk-goHyperledger Fabric Client SDK for Go客户端fabric本体fabric-chaincode-goThis reposi原创 2021-07-19 16:07:06 · 334 阅读 · 0 评论 -
学习记录:fabric(7)- fabric本身编译(1)
前情提要可能需要修改fabric的peer本身,所以需要看一下fabric本身。开始准备下载很简单,我使用的是v2.3.0。git clone -b v2.3.0 https://github.com/hyperledger/fabric.git这样有了代码,然后需要配好go环境。go我用的是1.15,虽然fabric指定的是1.14,但是不影响。注意环境变量的设置,fabric使用的是MakeFile的批处理命令方式,不是直接用go build。我遇到过一个问题:go install:原创 2021-07-15 10:22:27 · 274 阅读 · 0 评论 -
学习记录:fabric(6)- 系统设计(1)
设计基于go的web框架改造一下MVC,不要V,只有数据和控制通信部分(协议),这里使用fabric链码的接口,不使用其他的HTTP包。响应也是fabric内置pb的,不需要考虑,只需要调用就行。换句话说,这里不用gin而是fabric写法参照2.2版本的链码,不要全都放在一个文件里,分一下功能,肯定会有比较多的文件。设计为3部分:数据库部分区块链部分接口响应部分基本上例子中给出的,都可以算是接口部分。可以先根据这个,弄一下接口规定。然后其他部分需要参考go web项目。总体设计原创 2021-06-11 12:41:05 · 617 阅读 · 2 评论 -
学习记录:fabric(5)-fabric1.4的链码学习(2)
文章目录前情提要开始参考前情提要基本的链码过程现在明了了。接下来就是搞清楚开发调试流程。除此之外,go语言是一门适合网络、并行和分布式编程的语言,其他方面用的比较少。按照老师给的活,还需要去了解数据库,蛋疼的是没有很好的中间件,不过有xorm之类的orm,之后看一下。关于go语言,找到一个很不错的学习路径图:https://github.com/Alikhll/golang-developer-roadmap/blob/master/i18n/zh-CN/ReadMe-zh-CN.md开始原创 2021-06-11 12:40:51 · 310 阅读 · 1 评论 -
学习记录:fabric(4)-fabric1.4的链码学习(1)
前情提要虽然可以搭建2的网络,但是教程较少,很多网上的教程都还是1.4的,就算有2的教程也因为大家从1过来的,导致信息很少,坑比较多。所以为了快速进入链码开发,我还是走老路吧,教程多,把2作为后续升级过程。链码教程搜到的1.4的十分多,所以应该可以很快学会。开始吧!开始思路:先来搜博客,然后再看官方。再提一下,https://www.jianshu.com/p/813621eff343,这个博客是简洁明了的1.4网络搭建的范本,非常推荐。两个东西:go语言项目的基本流程fabric cha原创 2021-05-07 13:28:44 · 960 阅读 · 2 评论 -
学习记录:fabric(2)-写链码
前情提要上次部署了网络,现在开始对智能合约(链码)的调用,主要参考教程。使用版本,还是2.2开始有3种语言,go,js,java每个链码方法都传入一个参数ctx,代表事务上下文(transaction context),可获取链码的stub,可以和账本交互GetState/PutState例子是一个最简单的资产转移(前面其他教程用过的)全部功能:我们的应用程序是一个基本的样本链码初始化带有资产的分类账创建、读取、更新和删除资产检查资产是否存在将资产从一个所有者转移到另一个所有者原创 2021-04-26 10:34:32 · 529 阅读 · 1 评论 -
学习记录:fabric(1)- 部署网络
前情提要网络都要从创建用户开始。fabric有两种方法,fabric-ca或者cryptogen,这两个都可以。cryptogen属于开发场景下的使用,聚焦到这个上面来,快速把链码开发和SDK开发两种环境都搭好。这写网上已有的就比较多开始创建空项目,创建文件cryptogen-config.yaml配置文件中描述了网络的拓扑结构同时会为Orgnizations和Orgnizations下的节点生成一系列的证书。网络节点的命名规则为{Hostname}.{Domain}。以上述配置文件中order原创 2021-04-25 19:57:08 · 910 阅读 · 1 评论 -
学习记录:fabric(3)-回头再看fabric-sample的test-network
前情提要前面尝试搭建了网络,现在回头看看这个例子。fabric-sample是个宝藏呀。test-network,这是官方教程的例子。也是对网络的一键测试。这个测试网络,从配置到shell命令可以说都是可以进行借鉴参考的。甚至改改就能用(而且更方便)。现在运行一下基本的操作,看看里面发生了啥。开始基本操作包括:网络节点配置和创建(1个orderer,2个peer),创建创世区块和通道,部署链码,链码交互。测试网络的操作是很简单的,因为都写成了shell,而且配置文件绝对正确。使用的是fabr原创 2021-06-11 12:39:19 · 4111 阅读 · 2 评论
分享