szeng19 / blockchain-trace-fabric

基于区块链(fabric)农产品溯源平台

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

基于Fabric的农产品溯源系统

介绍

基于区块链的农产品溯源系统,分为pc端,h5端,后台采用SpringBoot,前端Vue, 区块链网络采用Fabric,一共分为六个组织节点,农户,原料厂商,生产厂商,物流厂商,零售商,消费者

软件架构

此系统有四个模块,已上传Gitee, blockchain-trace-bcnetwork ,blockchain-trace-applets ,blockchain-trace-pc ,blockchain-trace-basic-data。

blockchain-trace-bcnetwork:区块链网络,可直接将文件上传至服务器,然后启动里面的脚本

blockchain-trace-applets:小程序端溯源,做得十分简单

blockchain-trace-pc:PC端,使用的是RuoYi-Vue

blockchain-trace-basic-data:系统基础数据后台,使用的是RuoYi

前端:Vue.js , Element UI , mpvue

后端:SpringBoot , Mybatis , FastDFS , Node.js , Redis , MySQL

区块链:Fabric1.2

智能合约:Golang语言编写

环境:Ubuntu16.04 64位(2核 4G以上),Docker 18.09.7 , Docker-compose 1.29.1 , 

安装教程

1.先部署好区块链网络(blockchain-trace-bcnetwork,这里需要先拉取好所需的docker镜像,fabric-orderer,fabric-peer,fabric-counchdb,fabric-tools, fabric-ca,然后tag为latest): 将traceNetwork上传至服务器(也可自己搭建),进入basic-network目录中,启动start.sh脚本(./start.sh), 启动成功后进入webapp目录,启动start.sh脚本(此脚本是安装只能合约,它里面包含了其他几个脚本,可以自己观看), 启动成功后看一下docker容器,不出意外的话会安装了6个chaincode,安装成功后执行node enrollAdmin.js 和 node registerUser.js(这里如果没有生成成功,执行npm install fabric-client后再试) 生成对应的密钥文件后, 最后启动node服务,命令为 node app.js , 如果需要让其常驻后台,需要安装pm2,然后执行启动 pm2 start app.js , 停止 pm2 stop app.js , (环境变量需要有node,npm , golang)

2.系统基础数据后端 (blockchain-trace-basic-data) 配置好Redis,MySQL , FastDFS , 端口为8088,(本系统全部所有服务都采用Docker部署)

3.PC端(blockchain-trace-pc)

npm install --registry=https://registry.npm.taobao.org

npm run dev

npm run build:prod

4.小程序(blockchain-trace-applets) 自己使用开发者工具打开

说明

本系统过于简单,只适合做你的毕业设计,课程设计,学习使用,本系统只是提供一个大致的**,简单的流程,粗糙的实现,

界面

区块链浏览器 区块链结构 输入图片说明

基础数据 输入图片说明 输入图片说明 输入图片说明 输入图片说明

添加农作物 输入图片说明

农作物链上详情 输入图片说明

农作物种植过程记录 输入图片说明 输入图片说明

物流追踪(因本系统,这里忘记去做了,只是模拟了一下) 输入图片说明

司机运输定位(本系统采用PC端定位,实际上这是不行的,你想想,司机在开车过程中还要去打开浏览器进入系统去定位?这里只是模拟,让老师知道我要表达的意思,因为我也没钱去买设备来定位 😓 😓 ) 输入图片说明 输入图片说明

原料厂商质检报告上链 输入图片说明

生产厂商部分截图 输入图片说明 输入图片说明 输入图片说明 输入图片说明 输入图片说明 输入图片说明

零售商生成产品唯一溯源ID 输入图片说明

pc溯源 输入图片说明 输入图片说明 img.png 小程序端溯源

输入图片说明 输入图片说明 输入图片说明 输入图片说明 输入图片说明 输入图片说明

参与贡献

特技

About

基于区块链(fabric)农产品溯源平台


Languages

Language:Java 49.0%Language:Vue 32.1%Language:JavaScript 12.6%Language:Go 2.7%Language:Shell 2.2%Language:SCSS 1.0%Language:HTML 0.3%Language:Batchfile 0.1%