拉取开源项目: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下会有内容

如果没有也不要慌

首先,请确保你使用的地址是正确的,且对应的服务器可以正常访问。如果目标服务器可以正常访问,但你仍然遇到了连接超时错误,可能有以下原因:

  1. 网络故障导致请求没有被正确响应。你可以尝试使用其他网络进行请求。
  2. 请求被防火墙或其他网络安全设备拦截。请检查你的网络配置,确保请求被正确路由。如果需要,则需添加相应的规则或例外来允许请求通过。
  3. 请求的处理时间过长导致超时。你可以尝试调整请求的超时时间,或优化处理过程以提高响应速度。

在尝试以上解决方法后,如果问题仍然存在,你可以尝试联系服务器管理员或相关支持团队来获取更具体的帮助。

关闭防火墙,前往服务器控制台开启所有端口再次查看结果。