拉取开源项目:blockchain-fabric-trace: 基于区块链(fabric)农产品溯源平台 (gitee.com)
1.确保环境配置好
安装node.js 12
(23条消息) centos 安装node12_centos node12_bats421的博客-CSDN博客
注意:node.js尽量用12,如果不想用12也可以使用14,然后安装npm,注意npm一定要用6版本
安装npm6
(23条消息) Ubuntu/Centos中安装最新版node12.*.*版本和npm6.*版本并设置国内镜像_ubuntu 安装npm6_叶孤崖的博客-CSDN博客
安装g++
yum install gcc gcc-c++
(23条消息) linux安装g++_linux g++安装_码农先锋A的博客-CSDN博客
安装docker和docker-compose
Centos7 Docker&Docker-Compose安装教程_centos7 docker-compose 安装_MrNeoJeep的博客-CSDN博客安装redis和mysql8(直接从docker上拉取)
Docker拉取Mysql_docker pull mysql_笔神小卢的博客-CSDN博客
(注意要先安装mysql在安装redis,这个redis版本是5.0.7如果需要安装其他版本自己百度)
安装fastDFS
Docker中搭建FastDFS文件系统(多图) – niceyoo – 博客园 (cnblogs.com)
安装go语言
linux下怎么安装go语言环境-Golang-PHP中文网
2.拉取docker镜像
pull
docker pull hyperledger/fabric-peer:1.2.0 && docker pull hyperledger/fabric-orderer:1.2.0 && docker pull hyperledger/fabric-ca:1.2.0 && docker pull hyperledger/fabric-tools:1.2.0 && docker pull hyperledger/fabric-ccenv:1.2.0 && docker pull hyperledger/fabric-baseimage:0.4.10 && docker pull hyperledger/fabric-baseos:0.4.10 && docker pull hyperledger/fabric-couchdb:0.4.10
tag
docker tag hyperledger/fabric-peer:1.2.0 hyperledger/fabric-peer && docker tag hyperledger/fabric-orderer:1.2.0 hyperledger/fabric-orderer && docker tag hyperledger/fabric-ca:1.2.0 hyperledger/fabric-ca && docker tag hyperledger/fabric-tools:1.2.0 hyperledger/fabric-tools && docker tag hyperledger/fabric-ccenv:1.2.0 hyperledger/fabric-ccenv && docker tag hyperledger/fabric-baseimage:0.4.10hyperledger/fabric-baseimage && docker tag hyperledger/fabric-baseos:0.4.10 hyperledger/fabric-baseos && docker tag hyperledger/fabric-couchdb:0.4.10 hyperledger/fabric-couchdb
这一步按照步骤执行,正常不会出错(出错先看docker是否装好)
3.上传代码到linux服务器/或者直接git拉取
直接从idea中把文件blockchain-trace-bcnetwork拖拽的linux上的随机目录下
4.运行basic_network目录下的start.sh文件
chmod -R 777 start.sh
./start.sh
到这一步,首先进入要求的目录下,更改start.sh文件的格式(因为是直接从windows上拖过来的,要更改start.sh的格式)
方法一进入文件内部 vim start.sh更改格式(esc) :set ff=unix+回车 查看格式:set ff+回车 然后wq!保存文件格式
方法二简单粗暴点直接点开start.sh文件
点击小企鹅按钮,然后ctrl+s保存(会弹出一下按钮)直接点击 是的,全部(完成格式修改)
完成更改格式的步骤后,按照要求赋予权限,运行./start文件
(然后大概率会出错,非常正常第一次执行错误码是7051)解决方法:
docker-compose -f docker-compose.yml down
docker volume rm $(docker volume list -q)
有可能有一行执行不成功,只要执行就可以了。
这段代码可以解决这个问题。(然后会出现下一个错误)
版本错误,这个错误也是正常的错误
(注意以下三步都已执行,这个错误是会叠加的具体理解为7051+版本错误)
第一步:先要进入配置文件etc/resolv.conf 然后把前两行注释掉
第二步:清除通道(解决版本问题)
docker-compose -f docker-compose-cli.yaml down –volumes –remove-orphans
docker rm -f $(docker ps -a | grep “hyperledger/*” | awk “{print \$1}”)
docker volume prune
有可能有一行执行不成功,只要执行就可以了。注意:最后一行要删除成功
第三步:解决7051问题
docker-compose -f docker-compose.yml down
docker volume rm $(docker volume list -q)
再次运行start.sh文件可以执行成功
5.运行webapp目录下的./start.sh
chmod -R 777 startFarmerCC.sh
先要更改文件格式,按照要求赋予权限
注:给webapp录下的所用后缀为.sh文件修改格式且赋予权限
注:执行结束后如果第一次执行状态码是200如果再次执行状态码为500,因为已经执行成功一次了,如果出现500的执行状态大可以忽视问题。
6.执行npm install安装依赖
npm install 如果前面都执行成功的话,这个代码在执行过程中一般不会出错,如果出错问百度。
如果报错是这个错误:Failed to execute ‘/usr/local/lib/node-v12.22.12-linux-x64/bin/node /usr/local/lib/node-v12.22.12-linux-x64/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js configure –fallback-to-build –library=static_library –module=/opt/blockchain-trace-bcnetwork/webapp/node_modules/fabric-ca-client/node_modules/grpc/src/node/extension_binary/node-v72-linux-x64-glibc/grpc_node.node –module_name=grpc_node –module_path=/opt/blockchain-trace-bcnetwork/webapp/node_modules/fabric-ca-client/node_modules/grpc/src/node/extension_binary/node-v72-linux-x64-glibc –napi_version=8 –node_abi_napi=napi –napi_build_version=0 –node_napi_label=node-v72’ (1)
npm WARN webapp@1.0.0 No repository field.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! grpc@1.24.11 install: `node-pre-gyp install –fallback-to-build –library=static_library`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the grpc@1.24.11 install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2023-05-21T12_42_04_561Z-debug.log
有可能是权限的问题,可以先执行
sudo rm -rf /root/.cache/node-gyp
然后再npm install如果还是不行,执行npm install –unsafe-perm语句可以完成安装,注意如果后面出现问题可能会是node出现的问题。
7.注册用户
node enrollAdmin.js
node registerUser.js
按照要求,第一次大概率出问题,删除掉key重新再试就可以了
8.启动node服务
node app.js
启动如果node没有问题的话,不会有问题。如果有问题重装node,重新再来吧。
启动:pm2 start app.js
停止:pm2 stop app.js
可以安装pm2,一行命令解决问题:npminstallpm2@latest-g
9然后按照三四正常执行,把项目起来,进入页面查看结果
如果成功点击消费者溯源会有一下效果,前置Hash下会有内容
如果没有也不要慌
首先,请确保你使用的地址是正确的,且对应的服务器可以正常访问。如果目标服务器可以正常访问,但你仍然遇到了连接超时错误,可能有以下原因:
- 网络故障导致请求没有被正确响应。你可以尝试使用其他网络进行请求。
- 请求被防火墙或其他网络安全设备拦截。请检查你的网络配置,确保请求被正确路由。如果需要,则需添加相应的规则或例外来允许请求通过。
- 请求的处理时间过长导致超时。你可以尝试调整请求的超时时间,或优化处理过程以提高响应速度。
在尝试以上解决方法后,如果问题仍然存在,你可以尝试联系服务器管理员或相关支持团队来获取更具体的帮助。
关闭防火墙,前往服务器控制台开启所有端口再次查看结果。