重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这篇文章主要为大家展示了“如何搭建基于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中的工具主要是为了开发方便
curl
WSL自带了7.58.0版本
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,直接关掉命令行重开)
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环境变量
python
要求版本是2.7.x,WSL自带2.7.12
windows下安装(2.7.14):
[下载链接](https://www.python.org/downloads/)
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
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
WebStorm
安装该IDE开发golang和JavaScript
##下载fabric内容和开始运行
fabric的版本为1.2
下载fabric源代码
git clone -b release-1.2.0 https://github.com/hyperledger/fabric.git
下载fabric-samples、二进制工具和docker镜像
[fabric路径]/scripts/bootstrap.sh
samples会下载在当前目录,二进制工具在samples下的bin文件夹 在下载二进制工具和docker镜像的时候有可能因为网络原因而中断,可以选择重新执行脚本,也可以自己把阅读脚本后自行下载
运行first-network
cd [fabric-sample路径]/first-network/ ./byfn.sh up ./byfn.sh down
运行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超时设置
在不同环境和因素的影响下可能不止有以上问题,但是笔者没有遇到,遇到再添加~。~
运行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开发环境”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!