自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(88)
  • 收藏
  • 关注

原创 fabric-go-sdk配置/etc/hosts文件映射问题和在虚拟机跑通fabric-go-sdk例子

首先我们进行拉去镜像:https://github.com/sxguan/fabric-go-sdk进入我们的$GOPATH:cd $GOPATH/src && git clone https://github.com/sxguan/fabric-go-sdk.git拉取镜像此时我们注意,首先查看自己系统中已安装的docker镜像版本!输入:docker images 我们先打开拉取的docker-compose文件:把里面的镜像版本换成已有的fabric镜像版本! 如果需要在linux里运行go-sd

2022-07-04 19:03:47 1195

原创 fabric2.X以上系统用test-network环境测试自己的链码

首先,我们需要安装好fabric2.X的环境,具体参考我之前的文章:这里默认已经有了fabric2.X的环境,进入test-network文件夹:在开始测试之前:先把gopath项目路径全部解锁:sudo chmod -R 777 $GOPATH打开测试网络:sudo ./network.sh up如果想要同时启动CA服务器和couchdb,执行这条指令:./network.sh up createChannel -ca -s couchdb可以看到启动了fabric2.3的测试网络,包含了一个cli,两个

2022-06-14 21:08:00 1105

原创 强制删除所有docker镜像指令

强制删除所有docker镜像指令(linux环境下):

2023-08-09 12:36:33 277

原创 使用Tape对超级账本Fabric2.4.4进行性能测试(全过程搭建)

前提环境:搭建好超级账本Fabric2.4.4版本网络,启动test-netwok的官方示例,如不知道如何搭建超级账本Fabric2.4.4?Tape 是一款轻量级 Hyperledger Fabric。启动test-network环境,安装官方链码(asset)克隆官方tape仓库:git clone。

2023-03-05 23:17:42 1379 1

原创 docker删除所有容器(包括退出的容器)

(docker ps -a -q)代表所有容器。rm表示remove删除。

2023-03-04 00:30:02 386

原创 Building fabric-ca-server in bin directory ...no required module provides package的错误解决方法

tips:不太懂为什么要把代理改成auto,记得之前是可以make成功的。执行:go env -w GO111MODULE=auto。

2023-02-20 00:34:15 304

原创 论文ddl:记录设置绪论从页码一开始

今天写论文时候发现绪论不是从第一页开始的,是从第八也开始,那么如何设置绪论从第一页开始呢?设置如下:选择插入-页码-设置页码格式。不要选择续前节,选择起始页码1。

2023-02-19 20:00:51 3736

原创 Gin框架中的PostForm用法

其中GET方式就是我们前两篇文章的URL查询参数的方式,参考即可获得对应的参数键值对,这篇文章主要介绍POST的方式的表单,而Gin处理的也是这种表单。一些 Go 语言的开发环境或者编辑器在保存时,都会使用格式化工具进行修改代码的格式化,这样就保证了不同开发者提交的代码都是统一的格式。Go语言虽然是一门编译型的语言,但是它内置了垃圾回收机制,降低了开发者的心智负担,使其拥有像Python、PHP等解释性语言的一样的开发效率。了通过URL查询参数提交数据到服务器外,常用的还有通过Form表单的方式。

2022-11-30 22:36:19 1598

原创 Go web框架Gin的简单应用

它是一个轻量级的 WEB 框架,支持 RestFull 风格 API,支持 GET,POST,PUT,PATCH,DELETE,OPTIONS 等 http 方法,支持文件上传,分组路由,Multipart/Urlencoded FORM,以及支持 JsonP,参数处理等等功能,这些都和 WEB 紧密相关,通过提供这些功能,使开发人员更方便地处理 WEB 业务。Gin 是 Go语言写的一个 web 框架,它具有运行速度快,分组的路由器,良好的崩溃捕获和错误处理,非常好的支持中间件和 json。

2022-09-17 21:20:45 541

原创 Gin+Gateway+Fabric2.4.4演示(二)初始化账本和前端写入数据到账本

Gin是一个golang的微框架,封装比较优雅,API友好,源码注释比较明确。具有快速灵活,容错方便等特点。其实对于golang而言,web框架的依赖要远比Python,Java之类的要小。自身的net/http足够简单,性能也非常不错。框架更像是一些常用函数或者工具的集合。借助框架开发,不仅可以省去很多常用的封装带来的时间,也有助于团队的编码风格和形成规范。目前在很多使用Golang的中小型公司中进行业务开发,使用Gin框架的很多。Gateway的Init部分。显示我们已经存入账本成功了!

2022-09-02 23:22:56 1326 1

原创 Gin+Gateway(高级SDK)+Fabric2.4.4演示(一)从账本读数据

这里定义的结构体Stu,可以表示在前端输入结构体的信息,在后端拿到这个结构体的值,后续我们会定义链码中的结构体,用来获取账本中的数据和前端输入数据存入账本,进行演示。这个方法是官方的demo,我进行了小改动,返回一个string是为了方便大家在前端看到拿到的数据,原本的方法是没有返回值的,这里注意。今天演示一下Gin+Gateway+Fabric2.4.4结合,从区块账本抓取数据显示到前端。前提环境:Gin,Gateway,Fabric2.4.4环境。这是官方的链码,大家可以在fabric中自己找到。

2022-08-20 20:47:02 2264 3

原创 vmware安装Ubuntu20.04出现界面显示不完整找不到按钮的情况

桌面环境,改为Unity。从前人们认为Linux难以安装、难以使用,在Ubuntu出现后这些都成为了历史。Ubuntu也拥有庞大的社区力量,用户可以方便地从社区获得帮助。就可以暂时改变虚拟机的显示分辨率,这样你就可以继续安装Ubuntu了,安装成功后再去修改分辨率就可以了——鼠标右击桌面,点显示设置。的“ubuntu"一词,意思是“人性”“我的存在是因为大家的存在",是非洲传统的一种价值观。发行版和Gnome桌面环境,而从11.04版起,Ubuntu发行版放弃了。Ubuntu是一个以桌面应用为主的。...

2022-08-16 13:22:17 2754 3

原创 超级账本Fabric2.2自定义集群启动(修改官方Demo)

前言:基础是来自博主:明神特烦恼的优秀博客Fabric2.2全面专栏!这里仅仅对博主明神特烦恼的补充和延伸部分。前置条件:Fabric2.2.1环境,docker环境,docker-compose环境都有。超级账本Fabric2.2自定义集群启动(修改官方Demo)输入:./network.sh createChannel。至此,简单的自定义fabric集群就做好了。修改如下文件:configtx.yaml。增加信息,红框中的内容是我们需要增加的。增加对应环境变量信息。...

2022-08-11 14:08:36 497

原创 goland控制台显示重叠问题解决方案

GoLang简称Go是由谷歌开源的一门编程语言,而Goland是由JetBrains公司为Go开发者提供的一个符合人体工程学的新的商业IDE。GoLand是一个跨平台的IDE,使用范围包括Windows,maxOS以及。重启goland,再go run一次,就会发现显示问题已经消失了。解决方法:Please navigate to。输入:Registry。...

2022-08-08 16:55:27 901

原创 (零知识证明)关于gnark包不匹配导致链码安装失败的问题

环签名是一种简化的群签名,环签名中只有环成员没有管理者,不需要环成员间的合作,签名者利用自己的私钥和集合中其他成员的公钥就能独立的进行签名,集合中的其他成员可能不知道自己被包含在其中。环签名的优势除了能够对前者进行无条件匿名外,环中的其他成员也不能伪造真实的签名者签名。环签名在强调匿名性的同时,增加了审计监管的难度。环签名的安全性正确性:按照正确的签名步骤对消息进行签名,并且传播过程签名不被篡改,则环签名满足验证等式。...

2022-08-05 00:36:07 1643

原创 go语言实现导出string字符串到文件中

Go 语言的风格类似于C语言。一些 Go 语言的开发环境或者编辑器在保存时,都会使用格式化工具进行修改代码的格式化,这样就保证了不同开发者提交的代码都是统一的格式。Go语言虽然是一门编译型的语言,但是它内置了垃圾回收机制,降低了开发者的心智负担,使其拥有像Python、PHP等解释性语言的一样的开发效率。Go语言在多核并发上拥有原生的设计优势,Go语言从底层原生支持并发,无须第三方库、开发者的编程技巧和开发经验。Go语言是一门编译型的语言,我们编写好的代码直接编译成服务器可以执行的二进制可执行文件。...

2022-08-03 01:02:15 1174

原创 ubuntu20.04系统安装vmtool工具

Ubuntu Linux是由南非人马克·沙特尔沃思(Mark Shuttleworth)创办的基于Debian Linux的操作系统,于2004年10月公布Ubuntu的第一个版本(Ubuntu 4.10“Warty Warthog”)。南非总统曼德拉这样解释:Ubuntu是一个概念,它包含了尊重、互助、分享、交流、关怀、信任、无私的众多内涵:Ubuntu是一种生活方式,提倡宽容和同情他人。的“ubuntu"一词,意思是“人性”“我的存在是因为大家的存在",是非洲传统的一种价值观。...

2022-07-29 21:42:06 1060

原创 hyperbench:plugin.Open(“./fabric“): plugin was built with a different version of package golang.

把这个文件报错的那一行改成self.index.Tx。会看到生成了执行文件fabric.so。记得把这个文件第九行的tx改成Tx!记得source环境变量哦~~~再继续执行就可以了!

2022-07-28 16:37:12 2040

原创 关于使用hyperbeach出现/bin/sh: 1: packr2: not found的解决方案

再次执行就可以生成二进制文件了。

2022-07-26 11:46:13 4043 2

原创 区块链到底什么时候用?为什么区块链是不可篡改的?

这个链条被保存在所有的服务器中,只要整个系统中有一台服务器可以工作,整条区块链就是安全的。如果要修改区块链中的信息,必须征得半数以上节点的同意并修改所有节点中的信息,而这些节点通常掌握在不同的主体手中,因此篡改区块链中的信息是一件极其困难的事。该模型中,基于时间戳的链式区块结构、分布式节点的共识机制、基于共识算力的经济激励和灵活可编程的智能合约是区块链技术最具代表性的创新点。对一个现有非区块链系统进行”区块链化”改造:维持前段应用不动,之前是怎么样的,现在还是怎么样的,将后端的传统的数据库改成。...

2022-07-22 00:56:12 2856

原创 go语言零知识证明gnark框架

当时,数学家塔尔塔里雅和菲奥都宣称自己掌握了这个求根公式,为了证明自己没有说谎,又不把公式的具体内容公布出来(可能在当时数学公式也是一种技术秘密),他们摆开了擂台:双方各出30个一元三次方程给对方解,谁能全部解出,就说明谁掌握了这个公式。零知识证明 zero-knowledge proofs,简称ZKPs,我们都知道区块链本身的一个关键优势就是透明性,但是在很多情况下,智能合约应用却出于各种商业或法律原因需要保障数据隐私,比如传入真实有效的数据来触发智能合约执行,但这涉及到信息会有泄露的风险。...

2022-07-15 19:50:27 1455 1

原创 超级账本区块链Fabric2.4.4版本搭建过程(完整过程)

前提环境:乌班图20.04环境安装过程就不举例了。将go文件安装包解压到目录/opt/local下面,输入解压命令:接下来设置用户的环境变量:输入命令:sudo vim ~/.profile,如图设置环境变量。,载入环境变量到这里面。最后输入命令:go version,查看go是否安装成功然后输入 sudo reboot 重启虚拟机来安装docker注销并重新登录(我的是重启即可 输入:sudo reboot ),然后添加阿里云的Docker Hub。

2022-07-13 16:40:28 10792 9

原创 配置npm镜像加速

假设已经安装了npm,如果没有安装,请输入:sudo apt-get install npm设置淘宝源:看一下是否配置成功,成功后即可直接使用npm命令:之后就可以使用npm就不会卡了。可以还原npm仓库Nodejs软件包管理工具NPM的全称是Node Package Manager,是一个NodeJS包管理和分发工具,已经成为了非官方的发布Node模块(包)的标准。 2020年3月17日,Github宣布收购npm,GitHub现在已经保证npm将永远免费。node.js是javascr

2022-07-07 16:59:50 2361

原创 Pre-built binaries not installable for [email protected] and [email protected] (node-v57 ABI, glibc) (falling bac

当我们拉去fabric项目的时候,进行npm install的时候,出现了错误!显示是grpc和npm的版本不兼容所以我们尝试修改npm的版本号:首先在安装了npm的前提下安装n模块: Ps: n后面也可以跟随版本号(用于升级或降级)比如: 这里表示切换npm的版本号到9.4.0:再输入 node --version进行查看是否切换版本成功!此时我们重新进行 npm install:显示: 已经成功了! node.js是javascript的一种运行环境,是对Google V8引擎进行的封

2022-07-07 16:57:21 509

原创 goland使用fabric-go-sdk连接虚拟机fabric网络(保姆级教学)

之前实现了在虚拟机内部,使用fabric-go-sdk实现创建通道,加入通道,安装链码,调用链码一系列操作,现在我们尝试在外部windows系统用goland在连接虚拟机fabric网络进行操作,这样对于我们开发来说更方便和直接。首先开启虚拟机,如果之前已经有了构建的fabric网络,先关闭fabric网络和清理缓存:docker-compose down && docker volume prune此时,我们再开启fabric网络:我们把项目拉出到我们的goland中:这里注意,所有配置文件都需要改成在w

2022-07-06 19:12:05 1799 3

原创 go-sdk项目补充

如果之前已经启动了docker网络,这时候,我们先进入虚拟机把fabric网络down掉去:然后再清理缓存:docker-compose down && docker volume prune这样就可以在goland重新去连接go-sdk。PKI 解决了fabric网络中身份发放的问题,但由于节点的私钥永远都不会公开,因此还需要引入一种可以证实身份的机制 MSP 。MSP 是一组被添加在网络中的配置文件夹,被用来在外部和内部定义组织(organization)。CA生成代表身份的证书,而MSP包含了被许可身

2022-07-05 15:49:41 480

原创 关于fabric2.4.4注意事项

今天自己写了个链码,然后发现在goland里没有报错的,在环境中部署也可以成功,但是部署好了后,docker ps一下发现链码容器自动退出了,我们查看docker logs 容器id,发现这个错:显示QueryAllUsers返回值错误,需要一个确定的返回值,我纳闷了,我就是按着fabcar改的,为什么会错误呢,来回调整代码一下午,好像发现了问题所在,我自己的链码里的结构体我嵌套了一个结构体,我尝试把嵌套的结构体拿掉,再次部署,就成功了!具体原因我也不知道为什么,可能是fabric2.4.4最新版本的链码中

2022-07-02 21:38:07 671

原创 记go语言椭圆曲线算法公私钥验证补充

我们都知道除了用系统函数读取公私钥的方式还有一种方式,可以让用户手动输入公私钥文件,那么公私钥文件是这样的:我们在输入的时候一般都是 var str string 然后按照string格式进行输入,那么这种文件里的格式应该怎么输入呢?我们通过分析加解密的源码,知道就是系统根据开头的-----BEGIN CERTIFICATE-----和结尾的-----END CERTIFICATE-----来进行解析,所以我们用户直接输入中间的内容即可,然后开头和结尾用两个定义好的字符串去拼接,那么用户只需要输入中间的内容

2022-06-29 11:52:59 702

原创 记Ubuntu怎么拉东西到win11

今天换了新电脑,然后装了最新的Ubuntu22.04,也装了vm-tools,但是发现东西拉不出来,很奇怪,解决方法:在Ubuntu22.04里把文件夹压缩一下,然后再把压缩包复制,在win11上可以粘贴了。具体原因我也不懂,之前版本是可以的,估计是版本的问题。Ubuntu是一个以桌面应用为主的Linux操作系统,其名称来自非洲南部祖鲁语或豪萨语的“ubuntu"一词,意思是“人性”“我的存在是因为大家的存在",是非洲传统的一种价值观。Ubuntu基于Debian发行版和Gnome桌面环境,而从11.04版

2022-06-28 16:40:32 438

原创 Error: could not assemble transaction: ProposalResponsePayloads do not match - proposal response: ve

最近在跑fabric2.3自测链码的时候遇到了很多错误,自己也是很苦恼,改了好几个下午的bug就是找不到真正的问题所在,下面先看一个错误:Error: could not assemble transaction: ProposalResponsePayloads do not match - proposal response: version:1 response:......

2022-06-21 22:28:28 1658 1

原创 如何在fabric1.4中的first-network网络中自己测试链码

我们都知道在fabric1.4的环境中有一个自动启动的网络,那就是用自动脚本启动的first-network网络:下面说一下如何自己测试自己的链码:打开对应文件,将CC_SRC_PATH设置为自己的链码路径:这里要注意,使用脚本的时候会自动执行:初始化的时候,参数和查询的时候参数是固定的,所以为了自己的脚本不报错,这里自己的链码只要实现对于的方法就行:这里实现了一个查询和初始化的方法和一个invoke转账的方法,也就是官方链码里的方法就好了:然后执行的操作就和执行官方例子一样的:可以看这篇博客:关于Erro

2022-06-20 19:59:17 298

原创 Value did not match schema:\n1. return.ok.Ok2: Invalid type. Expected: array, given: null

今天遇到个问题:Value did not match schema:\n1. return.ok.Ok2: Invalid type. Expected: array, given: null开始很纳闷,不知道是哪里出了问题,所以进行了test,后来发现,是我定义的结构体里有切片,也就是可变数组,如下图:让我们再看看反馈的结果:Value did not match schema:\n1. return.ok.Ok2: Invalid type. Expected: array, given: null值

2022-06-17 17:21:16 597

原创 下载dokcer镜像卡住了怎么办?

我们有时候会遇到dokcer下载镜像的时候卡死了重启docker即可:Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux或Windows操作系统的机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。首先需要先从镜像仓库服务中拉取镜像。常见的镜像仓库服务是 Docker Hub,但是也存在其他镜像仓库服务。拉取操作会将镜像下载到本地 Docker 主机,可以使用该镜像启动一个或者多个容器。镜像由多

2022-06-17 16:21:18 1501

原创 强制删除docker镜像指令

docker rmi `docker images -q` --force--force表示强制性

2022-06-16 14:18:17 343

原创 fabric2.3链码对比1.4链码小记

最近实验室的项目要部署到fabric2.0以上版本,之前写的都是1.4的链码,现在看2.0版本的链码还是有些不一样的,主要是链码api改了。

2022-06-14 16:33:42 606 1

原创 fabric的证书公私钥签名验证过程测试

今天来简单记录一下在fabric证书的公私钥签名验证的过程:首先我们要知道,在fabric的证书体系中,公钥是什么,私钥是什么文件:我们进入peer0.org1.example.com节点文件,可以看到几个文件夹,其中,keystore里存放的就是peer0的私钥文件,在signcerts文件中存放的就是peer0的公钥(证书)文件,因为公钥存在于证书文件中。此时我们引入go语言编写的公私钥验证代码:这里注意使用的是椭圆曲线算法,不是RSA的!具体代码不展示了:.

2022-04-29 17:48:49 1372

原创 关于‘go list‘ failed with: error obtaining VCS status error obtaining VCS status: exit status 128问题的解决

今天在测试fabric2.4的时候遇到了这个问题:'go list' failed with: error obtaining VCS status error obtaining VCS status: exit status 128,具体是在安装链码的时候报错的,查了资料发现没有对应的错误,所以想简单记录一下。原因:是因为我们的go版本太高了!因为之前安装的go版本是1.18的,是最新版,我们将go的版本降至1.16之后,再执行就可以成功了!此时测试:显示安装链码成功了!查询

2022-04-28 21:21:46 5520 5

原创 YAML中层级和数组的区别

yaml内容:name: Janekey: - child-key: value - child-key2: value2 对应的json格式:如果是:yaml内容:name: Janekey: child-key: value child-key2: value2则json格式为:区别为,当我们需要取其中的数据时,如果是相同层级,则为object.vaule1.vaule2格式进行取,如果是数组类型,则是ob...

2022-04-10 20:35:07 755

原创 在linux虚拟机跑的dokcer项目如何在winodws宿主机上运行

可以看到dokcer里的8000端口和linux的8000端口进行了映射,如果我们要在linux里进行网页打开,此时我们在linux的网址也输入:localhost:8000 即可访问相关web网页。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。Linux有上百种不同的发行版,如基于社区开发的。原理:docker和虚拟机有个端口映射关系,虚拟机ip和windows宿主机又有一个ip和端口映射关系!Linux,全称GNU/Linux,是一种免费使用和自由传播的。

2022-04-06 19:15:27 1268

原创 关于 The compose file ‘./docker-compose.yaml‘ is invalid because:networks.fabric_network的解决方案

今天在用docker-compose跑项目的时候出现了一个错误:解决方案:我们先查看我们的dokcer-compose版本:使用docker-compose -v 查看compose的版本:可以看到版本是1.12.0 其实报错的原因是因为dokcer-compose版本太低了,我们进行版本的升级:我们这里可以直接下载进行老版本的覆盖,不需要先卸载docker-compose再安装操作:下载Docker Compose:curl -L https://get.daoclou

2022-04-03 17:04:38 14395

hyperledger-fabric-linux-amd64-2.4.0.tar二进制文件

hyperledger-fabric-linux-amd64-2.4.0.tar二进制文件

2022-09-25

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除