因为未找到mac相关的安装方式,故根据优秀博主的文档以及本人安装、使用的经验整理此文。

1.安装清单

  • brew
  • Git
  • cUrl
  • docker
  • docker-compose
  • GoLang
  • Fabric
  • Fabric-samples

2.开始安装

2.1 Git

mac自带git,也可自行安装:brew install git

2.2 curl

brew install curl

2.3 docker

brew install docker

2.4 docker-compose

无需操作,docker安装完成后,也含有了docker-compose

以上安装细节也可自行百度,网上都有^.^

2.5 GoLang

1> 下载 Golang

  • 照旧使用brew install go

2> 配置环境变量

  • vi ~/.bash_profile
  • 在最后一行写入:
export PATH=/usr/local/Cellar/go@1.13/1.13.15/bin:$PATH
  • 刷新环境变量 source ~/.bash_profile

3> 使用go verison查看环境变量是否生效

xiaomanong@xiaomanongdeMacBook-Pro ~ % go version
go version go1.13.15 darwin/amd64

2.6 fabric

1> 创建目录并进入

mkdir -p ~/go/src/github.com/hyperledger
cd ~/go/src/github.com/hyperledge

2> 拉取fabric源码

git clone https://github.com/hyperledger/fabric.git

也可通过浏览器打开git地址,自行下载源码。
3> 切换到指定分支

cd ./fabric
查看分支:git branch -a
切换分支: git checkout release-1.4

2.7 fabric-samples

1> docker配置镜像加速
可参考:Mac下Docker镜像加速

2> 拉取依赖
在 fabric/scripts 目录下找到 bootstrap.sh 脚本,复制到与 fabric 同级目录下,执行脚本(需要有VPN):

./bootstrap.sh 1.4.12 1.4.9 0.4.22

该脚本做的事情:

  • 如果当前目录没有 hyperledger/fabric-samples,会从 github.com 克隆 hyperledger/fabric-samples 存储库;
  • 使用 checkout 签出对应指定的版本标签;
  • 将指定版本的 Hyperledger Fabric 平台特定的二进制文件和配置文件安装到 fabric-samples 存储库的根目录中;
  • 下载指定版本的 Hyperledger Fabric Docker 镜像文件;
  • 将下载的 Docker 镜像文件标记为 “lastest"。

注意:执行脚本输入的版本号不通,下载的fabric-samples版本就不同,新版本的fabric-samples中没有first-network文件夹,我本地的Fabric网络是通过first-network启动的所以需要用到。

由于我的mac使用的vpn不适用到终端中,所以第三步需要手动在浏览器下载操作:
https://nexus.hyperledger.org/content/repositories/releases/org/hyperledger/fabric/hyperledger-fabric
https://nexus.hyperledger.org/content/repositories/releases/org/hyperledger/fabric-ca/hyperledger-fabric-ca

下载的 hyperledger-fabric-darwin-amd64-1.4.12.tar.gz压缩包内有 bin 和 config 两个文件夹, hyperledger-fabric-ca-darwin-amd64-1.4.9.tar.gz压缩包内有 bin 文件夹,将两个 bin 文件夹内的二进制文件汇总在一个 bin 文件夹内。 最后将 bin 和 config 文件夹复制到 fabric-samples 文件夹内。
Linux系统需要注释下图中执行binariesInstall的这行代码,并重新执行./bootstrap.sh 1.4.12 1.4.9 0.4.22

3> 设置环境变量

启动 fabric-samples/first-network 网络所需二进制文件的默认路径为 fabric-samples/bin,可以将该路径添加入环境变量中:

vim ~/.bash_profile
export PATH=$PATH:/Users/xiaomanong/Documents/tool/fabric/go/src/github.com/hyperledger/fabric-samples/bin
source ~/.bash_profile

测试环境变量是否生效:

xiaomanong@xiaomanongdeMacBook-Pro ~ % fabric-ca-client version
fabric-ca-client:Version: 1.4.9Go version: go1.14.10OS/Arch: darwin/amd64

4> 生成证书
进入first-network目录,使用byfn.sh脚本生成证书

cd ./fabric-samples/first-network/ && ./byfn.sh generate

5> 测试网络

  1. 启动网络
cd ./fabric-samples/first-network/ && ./byfn.sh up

启动时间会比较长,最终出现一个“END”日志表示启动成功,可通过docker ps命令可以查看到节点的启动情况。

注意:该命令会检查网络实体的证书是否生成,如果没有会先生成证书。因此,可以直接执行 ./byfn.sh up 命令,而无需执行 ./byfn.sh generate 命令。

  1. 关闭网络
cd ./fabric-samples/first-network/ && ./byfn.sh down

通过docker ps命令可看到各个镜像已停止并销毁。


安装合约流程

  1. 进入first-network目录,修改docker-compose-cli.yaml文件
  • 在最后的volumes中增加自己的项目映射:

     - /Users/xxx/Documents/MyProject/czkj/projects:/opt/gopath/src/github.com/hyperledger/fabric/peer/chaincode
    
  1. 重新启动网络frist-network
    ./byfn.sh down&&./byfn.sh up
  2. 进入hyperledger/fabric-tools:latest容器
    docker ps; docker exec -it xx /bin/bash
  3. 查看当前目录下是否存在chaincode目录,进入chaincode目录查看是否为合约的工程目录
  4. 确认无误后执行脚本(我的是进入testCommands目录,执行./installAllChainCode4SinglePeer.sh脚本),安装并部署启动合约相关服务

个人遇到的问题:

启动服务,代码报health相关的错误时,可能是没有启动心跳检测节点,需要修改fabric-samples/first-network/base下的两个yaml文件。

  • 在peer-base.yaml文件和docker-compose-base.yam文件的orderer.example.com中的environment增加:
 - CORE_OPERATIONS_LISTENADDRESS=0.0.0.0:9443
  • 在docker-compose-base.yam各个节点中增加对应的port
  • 重启网络:./byfn.sh down&&./byfn.sh up

参考:
Hyperledger中文文档
Fabric1.4:运行 first-network 网络
Hyperledger Fabric1.4 安装(大部分流程参考此文档整理)

Hyperledger Fabric/Fabric-samples 安装及使用(Mac)相关推荐

  1. mac电脑安装python_【mac电脑怎么安装python】mac版python安装教程

    mac 下怎么安装python 搭建开发环境 调用了 TThreadPoolServer 的 serve 方法后,server 进入阻塞监听状态,塞在 TServerSocket 的 accept 方 ...

  2. brew安装_苹果mac系统必须安装python3

    苹果mac系统必须安装python3 苹果mac系统口碑很好,但不能像linux系统一样同时提供python2和python3环境,对程序员来说是非常不友善的.资深程序员都知道,Python 3 才是 ...

  3. Linux安装配置类似mac下的docky

    百度经验:ubuntu安装配置类似mac下的docky 亲手打造自己的Linux桌面环境:http://os.51cto.com/art/201510/493896_all.htm Dock是一种图形 ...

  4. win10安装linux系统视频播放器,u盘安装linux视频mac制作win10安装u盘

    5. 用柔软的湿布清除打印机内部灰尘.污迹.墨水渍和碎纸屑,防止损坏.其次,用万用表检查外部电压是否符合要求,雨林木风win8系统,电压过高或过低都可能引起主机电源发生过压或欠压电路的自动停机保护 飞 ...

  5. 【安装+配置】Mac服务端svn

    二.服务端 一搜索mac svn全是这种!!!过分 Mac系统已经自带了svn,我们已经不需要安装svn服务器了,简单的几步配置就可以开启我们的svn服务器了. 1.打开terminal,可以使用如下 ...

  6. 超详细anaconda安装教程(Mac,Windows,Linux版本)

    超详细anaconda安装教程(Mac,Windows,Linux版本) Windows系统安装Anaconda macOS系统安装Anaconda Linux系统安装Anaconda Windows ...

  7. centos7与win7虚拟机的安装(m1 mac)

    centos7与win7虚拟机的安装(m1 mac) 目前为止,两者在官方给出的镜像中,应该是还不支持aarch架构的.值得一提的是,虽然两者的官方都停止了对其的支持,但centos7其实是给出了aa ...

  8. Mac系统清理软件有必要安装CleanMyMac吗 Mac电脑怎么彻底清理卸载的软件

    因为Mac电脑相比与其他品牌电脑有着较大优势,例如:流畅的Mac系统,强大的设备互联能力等,所以现在使用Mac电脑的人越来越多.与此同时,对于Mac电脑需不需要清理软件的讨论越来越多,究竟需不需要在M ...

  9. mac系统如何安装oracle软件,Mac版怎么安装oracle Mac版安装oracle教程

    类型:Mac其他软件大小:86.3M语言:中文 评分:10.0 标签: 立即下载 Mac版怎么安装oracle?Mac版安装oracle教程.最近有使用Mac的用户询问小编Mac版怎么安装oracle ...

  10. jmeter下载安装及使用-MAC

    jmeter下载安装及使用-MAC 一.jmeter是什么 二.jmeter怎么用 1.下载并安装jmeter 1.1 安装jdk 1.2 安装jmeter 1.3 修改语言为中文 1.4 运行并打开 ...

最新文章

  1. 【全网之最】全网最简单语句判断网页是否在移动端(手机端、PAD)打开
  2. yii2 js css,JS、CSS的引用
  3. 广西中专机器人应用与维护_我校2018级工业机器人应用与维护专业跟岗实习
  4. 移动**21*设置无法接通_电话打得出去,但别人打你的电话提示用户无法接通,是怎么回事?...
  5. [Python学习]PycURL简单学习 - limodou的学习记录 - limodou是一个程序员,他关心的焦点是Python, DocBook, Open Source …...
  6. python循环五角星做法_python实现while循环打印星星的四种形状
  7. Hadoop 2.x 完全分布式HA集群环境搭建
  8. JS正则表达式大全【转】
  9. 李牛(Linux)打包
  10. OpenCV每日函数 对象追踪模块 Meanshift算法
  11. python 游戏编程app_娱教于乐!四大游戏类编程网站,学Python再也不枯燥无味了...
  12. 深入剖解路由器的“心脏”技术
  13. python 使用ip库定位IP
  14. Java实现 LeetCode 48 旋转图像
  15. http://blog.csdn.net/rambo2188/article/details/6998349
  16. sass、scss、css、less
  17. [NOI2016]旷野大计算
  18. android 缺少模拟器,Android模拟器缺少硬件配置文件(示例代码)
  19. 日期时间脚本库方法列表
  20. python 爬取中彩网双色球开奖数据,预测下一期开奖号码

热门文章

  1. 计算机专业演讲ppt,2015计算机专业学习建议演讲.ppt
  2. 百分点:利用大数据做智慧商业
  3. 香蕉派BPI-R64调试小节
  4. 什么是shaded jar
  5. 腾讯云轻量级应用服务器部署并运行JavaWeb项目
  6. 微信浏览器 html5 语音,html5录音支持pc和Android、ios部分浏览器,微信也是支持的,JavaScript getUserMedia...
  7. 石器时代文件格式分析
  8. 高效提升亚马逊搜索排名的十个方法,赶紧学起来
  9. JavaScript 文档对象模型(DOM)(bgColor、fgColor、title)
  10. 如何判断免费购物网站系统的好坏