如何搭建基于windows的hyperledger/fabric开发环境

这篇文章主要为大家展示了“如何搭建基于windows的hyperledger/fabric开发环境”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何搭建基于windows的hyperledger/fabric开发环境”这篇文章吧。

创新互联是一家专业提供浦北企业网站建设,专注与成都做网站、成都网站制作、成都外贸网站建设H5开发、小程序制作等业务。10年已为浦北众多企业、政府机构等服务。创新互联专业网络公司优惠进行中。

##前言

其实,有了WSL后,windows上的环境搭建已经没那么复杂了除了docker,把docker配起来基本就没什么问题了,其他工具的安装和Linux上的基本一致,至于在windows上的工具安装则是根据自己的需求了

##环境

经过配置的可以在WSL上使用docker的windows 10系统(参考Linux on Windows(WSL)上使用docker) WSL:Ubuntu 18.04 fabric:1.2

##安装必须的工具

docker已经在参考博文中完成了安装,fabric要求版本是17.06.2-ce or greater 安装在windows中的工具主要是为了开发方便

  1. curl

    WSL自带了7.58.0版本

  2. docker-compose

    要求版本是1.14.0 or greater,安装docker-tools的时候会自动安装一个,但是命令是docker-compose.exe,不方便使用,所以要在WSL中安装,而apt安装的docker-compose版本太低,只能使用docker官方的安装方式:

    	1. sudo curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
    
    	2. sudo chmod +x /usr/local/bin/docker-compose
    
    	3. docker-compose -v(如果出现不存在这个文件或目录,尝试重启WSL,直接关掉命令行重开)

  3. golang

    要求版本是1.10.x,WSL中安装(go1.10.3.linux-amd64):

    	1. sudo curl -L https://dl.google.com/go/go1.10.3.linux-amd64.tar.gz -o /usr/local/go1.10.3.linux-amd64.tar.gz(这个链接应该在墙外,翻出去吧。不然就百度一个可以用的网址下载)
    	2. sudo tar -xzvf /usr/local/go1.10.3.linux-amd64.tar.gz -C /usr/local/ && sudo rm /usr/local/go1.10.3.linux-amd64.tar.gz
    	3. 设置环境变量GOROOT和GOPATH
    	4. go version

    windows下安装:

    	[下载链接](https://golang.org/dl/)
    	注意配置GOPATH和GOROOT环境变量

  4. python

    要求版本是2.7.x,WSL自带2.7.12

    windows下安装(2.7.14):

    	[下载链接](https://www.python.org/downloads/)

  5. nodejs & npm

    要求版本是8.9.x or greater but not 9.x & 5.6.0,,WSL中安装(8.11.3 & 5.6.0):

    	1. sudo curl -L https://nodejs.org/dist/v8.11.3/node-v8.11.3-linux-x64.tar.xz -o /usr/local/node-v8.11.3-linux-x64.tar.xz
    	2. sudo tar -xvf /usr/local/node-v8.11.3-linux-x64.tar.xz -C /usr/local/ && sudo rm /usr/local/node-v8.11.3-linux-x64.tar.xz(居然可以直接解压xz文件)
    	3. ln -s /usr/local/node-v8.11.3-linux-x64/lib/node_modules/npm/bin/np ./bin/node && ln -s /usr/local/node-v8.11.3-linux-x64/lib/node_modules/npm/bin/npm-cli.js ./bin/npm
    	4. node -v && npm -v

    windows下安装:

    	[下载链接](https://nodejs.org/en/download/)
    
    	要全局安装windows-build-tools以使用c++写的node库:
    	npm install --global windows-build-tools

  6. git

    要求版本是2.9.x or greater,WSL自带git2.17.0

    如果想在windows下安装:

    	[下载链接](https://git-scm.com/downloads)
    
    	windows的git安装后需要使用git bash修改下autocrlf和longpaths的配置:
    	git config --global core.autocrlf false
    	git config --global core.longpaths true

  7. WebStorm

    安装该IDE开发golang和JavaScript

##下载fabric内容和开始运行

fabric的版本为1.2

  1. 下载fabric源代码

    	git clone -b release-1.2.0 https://github.com/hyperledger/fabric.git

  2. 下载fabric-samples、二进制工具和docker镜像

    	[fabric路径]/scripts/bootstrap.sh

    samples会下载在当前目录,二进制工具在samples下的bin文件夹 在下载二进制工具和docker镜像的时候有可能因为网络原因而中断,可以选择重新执行脚本,也可以自己把阅读脚本后自行下载

  3. 运行first-network

    	cd [fabric-sample路径]/first-network/
    	./byfn.sh up
    	./byfn.sh down

  4. 运行balance-transfer

    	cd [fabric-sample路径]/balance-transfer/
    	vim ./artifacts/network-config.yaml 
    	修改localhost为192.168.99.100(虚拟机的地址)
    	./runApp.sh
    	./testAPIs.sh
    	测试完需要把docker网络卸载,这个看runApp.sh

    可能出现的一些问题:

    如果是npm install过程出错,按提示解决后,最好把node_modules删了再从runApp.sh开始,其他的问题都是从runApp.sh开始

    • make command not found

      	apt install make

    • g++ command not found

      	apt install build-essential

    • Please Install 'jq'

      	apt install jq

    • client.getEventHubsForOrg is not a function

      	查看package.json中sdk的版本,确定是1.2.0

    • timed out after:60000

      	vim ./testAPIs.sh
      	在出错的请求前加上"sleep 10",休眠10秒,如果还不行,可以尝试休眠足够长的时间
      
      	再不行,就:
      	vim ./app/instantiate-chaincode.js
      	修改两处的60000超时设置

    • 在不同环境和因素的影响下可能不止有以上问题,但是笔者没有遇到,遇到再添加~。~

  5. 运行chaincode开发模式

    按照以下步骤进行:

    	第一个shell
    
    	cd [fabric-sample路径]/chaincode-docker-devmode/
    	docker-compose -f docker-compose-simple.yaml up -d
    
    	docker exec -it chaincode bash
    
    	cd sass/
    
    	go build
    
    	CORE_PEER_ADDRESS=peer:7052 CORE_CHAINCODE_ID_NAME=mycc:0 ./sacc
    
    	打开第二个shell
    
    	docker exec -it cli bash
    
    	peer chaincode install -p chaincodedev/chaincode/sacc -n mycc -v 0
    
    	peer chaincode instantiate -n mycc -v 0 -c '{"Args":["a","10"]}' -C myc
    
    	peer chaincode invoke -n mycc -c '{"Args":["set", "a", "20"]}' -C myc
    
    	peer chaincode query -n mycc -c '{"Args":["query","a"]}' -C myc
    
    	回到第一个shell
    
    	修改sass链码(链码的修改首先当然是要看懂链码啦,只要再接下来的步骤能体现出修改过就好了)
    
    	go build
    
    	CORE_PEER_ADDRESS=peer:7052 CORE_CHAINCODE_ID_NAME=mycc:0 ./sacc
    
    	去到第二个shell
    
    	peer chaincode invoke -n mycc -c '{"Args":["set", "a", "20"]}' -C myc
    
    	peer chaincode query -n mycc -c '{"Args":["query","a"]}' -C myc

以上是“如何搭建基于windows的hyperledger/fabric开发环境”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!


名称栏目:如何搭建基于windows的hyperledger/fabric开发环境
本文地址:http://myzitong.com/article/jpdsid.html