千家信息网

在mac下如何部署hyperledger fabric本地开发环境

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章主要为大家展示了"在mac下如何部署hyperledger fabric本地开发环境",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"在mac下如何部
千家信息网最后更新 2026年11月03日在mac下如何部署hyperledger fabric本地开发环境

这篇文章主要为大家展示了"在mac下如何部署hyperledger fabric本地开发环境",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"在mac下如何部署hyperledger fabric本地开发环境"这篇文章吧。

准备工作:

Git client(https://git-scm.com/downloads)Go - 1.6 or later(https://golang.org/)Vagrant - 1.8.6 or later(https://www.vagrantup.com/)VirtualBox - 5.0 or later(https://www.virtualbox.org/)

这些都必须要用到,git主要用于同步源码,go主要是搭建go语言的编译环境,因为源码是go语言编写的。点击文档说明的链接下载,安装方法和环境变量的设置可以百度,一大堆的参考资料,基本都比较靠谱。后两个就更简单,下载下来安装就行了。另外,由于后面要用到ssh命令,我下载了一个Cygwin64 Terminal,安装选择包的时候搜索openssh,然后选择这个包,安装之后,也需要配置环境变量,具体自己百度。

搭建步骤:

第一步:

首先确保你之前安装go语言的编译环境搭建好了。

然后在git命令行中输入 :

git config --get core.autocrlfgitconfig --global core.autocrlf false

第二步:

把github中的fabric源码拉下来

cd $GOPATH/srcmkdir -p github.com/hyperledgercd github.com/hyperledgergit clone https://github.com/hyperledger/fabric.git

$GOPATH这个目录在windows下可以随便定,建议后面的按他说的来。源文档的git clone命令可能是针对有Linux id的来的,可以不用他的命令。

第三步:

用Vagrant来配置虚拟机

cd $GOPATH/src/github.com/hyperledger/fabric/devenv  vagrant up

vagrant up第一次时间非常长,有时还断,所以建议FQ,而且要全局加速,亲测速度确实要稳定一些。文档里说运行了这个命令之后就可以喝咖啡去了,要a few minutes,我表示不服。

Vagrant装好之后,大部分的工作就完成了,然后就是部署一些东西。

之后的vagrant up启动都是这个样子:

这一步要单独介绍一下vagrant有许多命令,大概方式 就是它会从vagrant 的box的镜像中去下载最新版本的镜像大概有1G多吧,然后进行安装我们可以通过迅雷手动下载,最新版本。然后通过

vagrant box add hyperledger/fabric-baseimage virtualbox.box

的方式直接添加这个镜像文件。下载地址(https://atlas.hashicorp.com/hyperledger/boxes/fabric-baseimage/versions/0.2.1/providers/virtualbox.box)

可以浏览一下镜像库

当前的最新版本是0.2.1

本地的版本可以通过

vagrant box update的方式进行更新。

然后安装好镜像以后,一般会报一个错误。就是连接不到 google.com上去去更新代码,因为会在当前默认的工程目录下去生成文件。出错情况是这样的:

==> default: package golang.org/x/tools/go/gcimporter15: unrecognized import path "golang.org/x/tools/go/gcimporter15" (https fetch: Get https://golang.org/x/tools/go/gcimporter15?go-get=1: dial tcp 216.239.37.1:443: i/o timeout)

golang.org/x/tools/go/这些地址都是连接不上的,因为被墙了。但其实这些代码 都在github有的,我们要手动创建目录然后通过github去下载它。比如这个tools目录。

mkdir golang.org/x这个目录在src目录下

创建一个和github.com平级的golang.rog 目录,然后呢进入x目录

localhost:golang.org pro$ cd x/localhost:x pro$ lslocalhost:x pro$ git clone https://github.com/golang/tools.git

在x目录下执行git clone 就可以了就生成了一个目录结构了。生成结果如下

其实如果这种方式安装好tools源码后还是不能编译通过的,我找了好久才发现。在hyperledger目录下还有一个自己的工作空间。

是在vagrant up时生成的。我们进入fabric目录看到

这里又需要生成,然后我以为只在自己的第一个工作空间添加上就好了,谁知它还会不断去安装tools源码,原来是这里还需要,只要把我们

刚才在另一个目录下git clone下载好的源码拷贝到这里就行了。

上面那个gotools目录是需要在devenv目录下下执行vagrant up时才会生成 的,只要把这个问题解决了。安装虚拟环境就没有问题了。

部署步骤:

打开ssh:

cd $GOPATH/src/github.com/hyperledger/fabric/devenvvagrant ssh

这个时候如果没装之前的ssh,就会报错。

以上登录成功以后会显示:@hyperledger-devenv 这样 就表示虚拟环境安装成功了。如果只是出现的unbunt的登录,那表示安装过程中有错误,虽然能登录进来会有很多东西缺失导致编译失败。

回到 要目录下我们查看,会有一个hyperledger的目录这个目录是映射我们的宿主主机的,当前我们在自己的电脑上更新了源代码,这里也会自动更新的,方便我们开发。

安全验证(可选):

To set up the local development environment with security enabled, you must first build and run the Certificate Authority (CA) server:

这个是可选项,主要用作member的身份认证,具体作用体现在后面的命令加不加username上。

make membersrvc && membersrvc

运行验证peer:

开另外一个命令行窗口,运行

cd $GOPATH/src/github.com/hyperledger/fabric/devenvvagrant ssh

然后,要注意的是,以下操作都是在上面的vagrant ssh登录以后才进行的操作。不是在当前的宿主机系统源码上进行的操作。

cd $GOPATH/src/github.com/hyperledger/fabricmake peerpeer node start --peer-chaincodedev

make peer过程会比较久我这里大概用了将近一小时左右,要安装下载一堆东西

下载完成以后会出现下面安装的的界面。

上面完成后执行:peer node start --peer-chaincodedev 这样,peer节点就起来了。

编译chaincode:

另开一个命令行窗口,运行:

cd $GOPATH/src/github.com/hyperledger/fabric/devenvvagrant ssh

然后选择源码中的一个例子chaincode机型编译


cd$GOPATH/src/github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02go build

注册和运行chaincode:

CORE_CHAINCODE_ID_NAME=mycc CORE_PEER_ADDRESS=0.0.0.0:7051 ./chaincode_example02

mycc是chaincode的名称,可以随便定,只要在后面的过程中对应使用就行了。

ready for invocations 这样 就是这步OK了

CLI调试:

我没有用REST方式,用的CLI。

用户注册:

再 通过vagrant ssh打开一个终端再 登录。

cd $GOPATH/src/github.com/hyperledger/fabric/peerpeer network login

username要从membersrvc.yaml里边选,比如alice试了几次别的用户都不成功,然后会要求输入密码,把后面的密码输入就行了。然后注册会成功。

membersrvc.yaml文件用户列表:

peer窗口可以看到注册信息:

Chaincode的部署交易:

peer chaincode deploy -n mycc -c '{"Function":"init", "Args": ["a","100", "b", "200"]}'

如果使用了安全模式:

CORE_SECURITY_ENABLED=true CORE_SECURITY_PRIVACY=true peer chaincode deploy -u jim -n mycc -c '{"Function":"init", "Args": ["a","100", "b", "200"]}'

Chaincode的调用交易:

peer chaincode invoke -l golang -n mycc -c '{"Function": "invoke", "Args": ["a", "b", "10"]}'

如果使用了安全模式:

CORE_SECURITY_ENABLED=true CORE_SECURITY_PRIVACY=true peer chaincode invoke -u jim -l golang -n mycc -c '{"Function": "invoke", "Args": ["a", "b", "10"]}'

Chaincode的查询交易:

peer chaincode query -l golang -n mycc -c '{"Function": "query", "Args": ["b"]}'

安全模式:

CORE_SECURITY_ENABLED=true CORE_SECURITY_PRIVACY=true peer chaincode query -u jim -l golang -n mycc -c '{"Function": "query", "Args": ["b"]}'

peer窗口

chaincode窗口

部署,调用和查询三个交易在这几个窗口中都可以看到。

这个部署总算是完成了,但是上面黑色窗口的部门我没用,我跑了一下他自带的智能合约,

真心感觉 hyperledger太庞大了,不是一般人能玩的。高度模块化 ,而且现在处于开发阶段变化特别大。比如上面有一部门是要,编译和启动用户模块membersrvc。在现在的git分支中没有这个代码 了不知道,为什么。所以就没用,但是在0.6分支还是有这块模块的。

但

但是在master分支下这块儿的代码没有,也请有分析过的给指导一下。

以上是"在mac下如何部署hyperledger fabric本地开发环境"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

目录 环境 命令 源码 编译 生成 开发 方式 是在 镜像 运行 安全 成功 代码 就是 版本 用户 交易 工作 更新 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 哈尔滨大商圈互联网科技有限公司 圆梦互联网科技 银优互联网科技有限公司 互联网金融科技平台 郑州华宇互联网科技 互联网科技汛 互联网科技类展会 无锡溥仪互联网科技有限公司 央行互联网金融科技公司 中化能源互联网科技招聘 中国互联网十大科技股排名 河南住房之家互联网科技 高科技互联网发展前景如何 互联网金融科技名词解释 华中科技大学互联网的牛人 万物互联网智能科技 艺电能源互联网科技有限公司招聘 互联网科技收购价值 东风日产互联网科技公司叫什么 山东亿川互联网科技有限责任公司 互联网黑科技 互联网科技图片 互联网科技金融公司 互联网科技咨询 重庆威客帮互联网科技 元气玛特互联网科技公司是外包吗 广州千川互联网科技有限公司 云南互联网科技学费 保山浩联互联网科技有限公司 互联网科技快速发展优美句子
0