Minifabric是一个部署,开发,管理和学习HyperLedger Fabric的工具,适用于开发人员、管理员或尝试体验Hyperledger Fabric的用户。
Minifabric的出现,旨在减轻任何想要启动Hyperledger Fabric的人的痛苦。它只需要Docker,可以在Windows 10,Linux和OS X上运行。它使用单个命令设置结构网络。一旦 Fabric 网络启动并运行,就可以使用 Minifabric 提供的各种命令来处理为 Fabric 编写的链码、通道和应用程序。虽然Minifabric很小,但它可以让用户体验Hyperledger Fabric的全部功能。
搭建工具安装
git是开源版本管理控制工具,minifabric需要git工具用于下载发布于GitHub网站的源代码或其他相关资源。
#下载安装git工具 yum install git
Docker是开源的应用容器引擎,可快速简单地创建轻量、可移植的容器,容器使用沙箱机制具备性能高、开销低的优点。本实验中Docker可为HyperLedger Fabric环境的创建提供容器服务。注意:minifabric需要 docker CE 18.03 或更高版本。
#安装docker工具 curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun #将用户添加进docker用户组 sudo usermod -aG docker $USER #下载docker-compose sudo curl -L "https://ghproxy.com/https://github.com/docker/compose/releases/download/v2.2.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose #为docker compose工具加上权限 sudo chmod +x /usr/local/bin/docker-compose #给docker换源 curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io #重启docker systemctl restart docker #设置开机自动启动 systemctl enable docker.service
minifabric安装
minifabric的官方地址为:GitHub - hyperledger-labs/minifabric: Do fabric network the right and easy way.
Linux系统安装及使用
#创建目录 mkdir -p ~/mywork #进入该目录 cd ~/mywork #获取minifab curl -o minifab -sL https://tinyurl.com/yxa2q6yr #赋予权限 chmod +x minifab
注:若无法通过网站获取minifab,则可通过github源码下载的方式。获取minifabric-main将其上传至工作目录。
可在工作目录mywork中通过创建或修改spec.yaml文件的方式来定制自己的fabric网络,定义ca、peer、orderer节点,设置goproxy、endpoint_address、netname等网络信息,具体可参考minifabric/README.md at Main ·Hyperledger-Labs/Minifabric ·GitHub,示例网络结构如下:
fabric: cas: - "ca.org1.littlerui.com" - "ca.org2.littlerui.com" peers: - "peer0.org1.littlerui.com" - "peer1.org1.littlerui.com" - "peer0.org2.littlerui.com" - "peer1.org2.littlerui.com" orderers: - "orderer.littlerui.com" - "orderer1.littlerui.com" - "orderer2.littlerui.com" - "orderer3.littlerui.com" settings: ca: FABRIC_LOGGING_SPEC: DEBUG peer: FABRIC_LOGGING_SPEC: DEBUG orderer: FABRIC_LOGGING_SPEC: DEBUG ### use go proxy when default go proxy is restricted in some of the regions. ### the default goproxy # goproxy: "https://proxy.golang.org,direct" ### the goproxy in China area goproxy: "https://goproxy.cn,direct" ### set the endpoint address to override the automatically detected IP address endpoint_address: 101.43.129.30 ### set the docker network name to override the automatically generated name. netname: "littlerui_net" ### set the extra optins for docker run command # container_options: "--restart=always --log-opt max-size=10m --log-opt max-file=3"
minifabric使用
Minifabric 支持 Fabric 版本 1.4.1 及更高版本,通过命令-i来指定,建议使用1.4.4或2.3.0版本;up为开启创建网络命令,down为停止网络,restart为重启网络,cleanup为清除网络。其余命令可通过 ./minifab --help 来查看。
(1)启动网络
./minifab up -i 2.3.0 -o org1.littlerui.com -e true
运行后首先为网络基本配置信息,而后自动进行镜像的下载(耗时较长)、证书的创建分发、创世区块的构建、网络启动、网络状态查询、通道创建、初始化配置文件、链码的安装与实例化等fabric网络创建过程。最后显示如下结果即为网络创建成功。
(2)查看运行情况
docker ps
(3)关闭网络
./minifab down
(4)重新启动网络
./minifab restart
(5)清除网络
./minifab cleanup
minifab浏览器
mifabric可以使用用户界面来查看 Fabric 网络、交易和区块,可以通过运行命令轻松启动 Hyperledger Explorer
./minifab explorerup
可通过浏览器访问website,默认用户名和密码如控制台给出,用户界面如下:
./minifab explorerdown #关闭浏览器
成功完成上述的每个过程,则基本上已验证 Fabric 网络可以正常工作。完成这些任务后,还可以执行一些更高级的操作,例如通道查询、通道更新签核、通道更新。如果具有多个 minifabric 创建了 Fabric 网络,甚至可以使用 minifab 将所有 Fabric 连接在一起以形成更大的 Fabric 网络。