*一物一码商业版购买或商务合作请转到 **北京引瓴数智科技有限公司** 官网进行查看*。
**官网地址**:https://www.yinlingshuzhi.com/
**一物一码体验地址**:https://demo.trace.yinlingshuzhi.com/
# 基于Fabric的农产品溯源系统
>让人类餐桌上的食物回归到农耕时代!
# 介绍
随着社会的不断发展,科技的不断进步,到了今天,你是否还记得故乡地里的那片只施农家肥的菜园,在小时候,物质虽然相对贫乏,但是吃到的
每一口在长大后再也没吃过那么香的,如今,为了生活,离开深爱的故乡,蜗居在城市的钢筋混泥土下,你是否会偶尔回味起哪些遗失的味道。
基于区块链的农产品溯源系统,分为pc端,h5端,一共分为五个组织节点,农户,原料厂商,生产厂商,物流厂商,零售商,在全流程走完后,消费者买到产品后,可对其
进行溯源,每个环节的数据都会进行上链,所以整个过程是透明的。
本系统提供的是一种区块链应用的思想,因为在大部分人的认知里,区块链只是就是比特币,就是割韭菜,其实这是不对的,区块链使用到传统行业中,可能会有颠覆性的
作用,比如农产品,供应链溯源,电子存证,司法行业,金融行业,实物赋能,教育档案管理,医疗,公证等等场景和行业中,区块链都有其天然优势,其不可篡改,去中心化,
分布式,可追溯等特性,能在很多场景发挥作用。
### 组织架构图
![输入图片说明](https://gitee.com/ken_xue/Blockchain-APTrace-Fabric/raw/master/install-fabric-env/%E4%B8%9A%E5%8A%A1%E6%9E%B6%E6%9E%84.png)
# 系统模块和技术
此系统有四个模块, 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以上,2G也能运行),Docker, Docker-compose
因为本系统的区块链部分是完全按照最简单的来,比如共识是自带的solo,orderer节点是单节点,这些肯定都是不合理的,所以这个版本就单纯传达一个上层应用思想吧,
后续可能会在此思想上重新搭建一套能够投入使用的。
# 安装教程
## 一.fabric网络
### 1.确保环境配置好
> node.js 12
> docker
> docker-compose
> Redis
> FastDFS
> Mysql8
> go语言环境
### 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.10 hyperledger/fabric-baseimage &&
docker tag hyperledger/fabric-baseos:0.4.10 hyperledger/fabric-baseos &&
docker tag hyperledger/fabric-couchdb:0.4.10 hyperledger/fabric-couchdb
```
### 3.上传代码到linux服务器/或者直接git拉取
`blockchain-trace-bcnetwork`
### 4.运行basic_network目录下的start.sh文件
> chmod -R 777 start.sh
>./start.sh
此处会安装可能会出现问题,具体问题可以百度。
### 5.运行webapp目录下的./start.sh
先给webapp目录下的所有sh文件授权,如下
```
chmod -R 777 startFarmerCC.sh
```
### 6.执行npm install安装依赖
> npm install
可能node版本问题安装会出一些问题,node8应该是没问题的。
### 7.注册用户
> node enrollAdmin.js
> node registerUser.js
执行node registerUser.js可能会安装失败,请删除一下hfc-key-store后重新执行,如果还是失败,可能就是npm install出问题,注意node版本,使用node12
### 8.启动node服务(node服务就是一个中间件,连接前端和fabric网络)
> node app.js
如果需要让其常驻后台,需要安装pm2。
> 启动:pm2 start app.js
> 停止:pm2 stop app.js
到这里,区块链网络就部署完成
## 二.系统基础数据后台blockchain-trace-basic-data,是一个SpringBoot项目
### 1.修改application.yml文件中的Redis地址和fastdfs地址
```yaml
# redis 配置
redis:
# 地址
host: 127.0.0.1
# 端口,默认为6379
port: 6379
# 密码
password:
fdfs:
so-timeout: 1501
connect-timeout: 601
thumb-image:
width: 60
height: 60
tracker-list: 127.0.0.1:22122
address: http://127.0.0.1:8888/
```
### 2.修改application-druid.yml文件中mysql地址
```yaml
# 数据源配置
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource
driverClassName: com.mysql.cj.jdbc.Driver
druid:
# 主库数据源
master:
url: jdbc:mysql://127.0.0.1:3306/blockchain?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
username: root
password: root
```
## 三.PC端(blockchain-trace-pc)
### 1.安装依赖
> npm install --registry=https://registry.npm.taobao.org
### 2.修改连接区块链网络地址
main.js,ip地址修改为区块链网络所在服务器地址
```yaml
Vue.prototype.$httpUrl = "http://localhost:8080/route";
```
### 3.启动项目
> npm run dev
## 四.小程序(blockchain-trace-applets)
自己使用开发者工具打开
## 界面
### 区块链浏览器
这是调用fabric的api进行展示的,fabric生态里面国人贡献了一个fabric浏览器项目,可以去使用,不过都是调用fabric的api。
<table>
<tr>
<td><img src="https://images.gitee.com/uploads/images/2021/0510/100450_865a1f55_4775150.png"/></td>
<td><img src="https://images.gitee.com/uploads/images/2021/0510/100501_6d258226_4775150.png "/></td>
</tr>
</table>
### 添加农作物
这里是添加农作物部分,对于像农作物,肯定是一块一块的,所以在实际中,如果需要做农作物溯源的解决方案,那么我们可能需要对地块进行规划,然后借助物联网设备,传递地块指标数据和农作物情况。
<table>
<tr>
<td><img src="https://images.gitee.
没有合适的资源?快使用搜索试试~ 我知道了~
基于区块链(fabric)农产品溯源平台源码+详细文档+全部资料(毕业设计).zip
共1370个文件
java:255个
js:251个
json:124个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
1星 1 下载量 66 浏览量
2024-04-15
17:27:16
上传
评论 1
收藏 18.05MB ZIP 举报
温馨提示
【资源说明】 基于盲水印及区块链技术的图片版权存证源码+全部资料(毕业设计).zip基于盲水印及区块链技术的图片版权存证源码+全部资料(毕业设计).zip 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如软件工程、计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载使用,也可作为毕设项目、课程设计、作业、项目初期立项演示等,当然也适合小白学习进阶。 3、如果基础还行,可以在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 欢迎下载,沟通交流,互相学习,共同进步!
资源推荐
资源详情
资源评论
收起资源包目录
基于区块链(fabric)农产品溯源平台源码+详细文档+全部资料(毕业设计).zip (1370个子文件)
013c3cf002ed608ce3688b9845741d8c18a2032f68d56b0fbb5455b376a5a28a_sk 241B
0bbf854f0b7d2983aaddadb17fb0cbe04743a497a8c54215783fa51bbf490b08_sk 241B
300d245167a3d0526602d3b985c57b0d3cd1037cf3c1996f7baf90bfe41af285_sk 241B
38495dada2d3a879981547003d601ed405cde661e55e568cce718a6618360d79_sk 241B
3ae458a57cedc5b77bff648a172d62e1e430ea7611208af734f5dffb8cdfbeea_sk 241B
410a1045595ce19d2ea8db55ec974a7720ee4e862f47be66758bf28ea06dc2b4_sk 241B
4332a2af28afa55c2ad772303d548aad1b9fe6a842365ee93d2d31fe101603db_sk 241B
4885bc1a213a67da63c85baabb47ca0b9279ce2ef560d70fc0ee3c45800a52cd_sk 241B
53fbcbc782d4dbe78bc7061496ee4f01727c0a120c555303bded52effe498b71_sk 241B
5c54dfe531fc8e2aa63e00800c07c03d6706dfecd8f611a88129053badfd3867_sk 241B
5e0b4ed6728b3e83577b4a6460c479c40468e44125b70e964f0c11d9630dc1e0_sk 241B
75b55605ded3b14e814d0e9b256cff1a63383c463236cb2cd01102327b2a6100_sk 241B
79245f772975f70fe11615339640173c42b076089ed7115a1350d8836024728b_sk 241B
7c086268307415636ab48277025963cc68d3c43c73c6419b005cb24560d5c52e_sk 241B
7ffd5125ccc7bcecb71337973afdbfc7d2206c97bb7e7fb74e8a5efb52e57b15_sk 241B
81d9921a03d8a14d0ab0ce2112ad5b178202dedf5334b4cecee8348a93446591_sk 241B
933b0f244436cbfb1c9f263c3890503abc7505ca889580948b81e3f2a92869c5_sk 241B
94000312249d103a41c974b0c00b99d9cc579d4184490e1eeaf85e793ba940f6_sk 241B
997f711a9f049b6273f077b9a2311ab1574cbc37ef0cb4d92caa172e021e801f-priv 241B
997f711a9f049b6273f077b9a2311ab1574cbc37ef0cb4d92caa172e021e801f-pub 178B
a059b9c092dfbd77e015370721a58f542cf07d7f9a5a76c759b1922d958035e0_sk 241B
a2218659fea6a97c09db52af58d33c3c8fd21ad5b7b6f185a715d3e1b4652217_sk 241B
a2ba53cab86bf204a0d0883dfb1436669d6a78902b576be185d79a1f5f318471_sk 241B
admin 978B
b9a6323aff097f34eaf190f7073e12ace136a1b4d6d68effe1dc2005a4f43e86_sk 241B
.babelrc 312B
run.bat 218B
package.bat 153B
package.bat 141B
build.bat 109B
run-web.bat 99B
clean.bat 92B
tracechannel.block 20KB
genesis.block 17KB
genesis.block 17KB
c21f7f2236f63f1dbf8ce9820f3edd14adb54f9a904aa6ac8b6ec3f6f167b1f3_sk 241B
c293a60192a2753814756d505c08af1b6c91106fcf7884fbc5609c0fe2cd826d_sk 241B
c64f1c9d8be5ac0404b6a6a1af976913ab83b131c38e1fc3aaa41dd9f4bfe91b_sk 241B
ce7db2b6b091b67214ff9285e77b89fe1a039e7188ea838be1316d4a7c5831b4_sk 241B
configtxgen 21.71MB
server.crt 883B
server.crt 883B
server.crt 883B
server.crt 883B
server.crt 883B
server.crt 863B
ca.crt 843B
ca.crt 843B
ca.crt 843B
ca.crt 843B
ca.crt 843B
ca.crt 843B
ca.crt 843B
ca.crt 843B
ca.crt 843B
ca.crt 843B
ca.crt 843B
ca.crt 843B
ca.crt 843B
ca.crt 843B
ca.crt 843B
client.crt 826B
client.crt 826B
client.crt 826B
client.crt 826B
client.crt 826B
client.crt 826B
client.crt 826B
client.crt 826B
client.crt 826B
client.crt 826B
ca.crt 814B
ca.crt 814B
client.crt 806B
cryptogen 11.5MB
d5552bfa5abc37a772b54bfa941e391e13657a89a4be51baa85bb8b28e930623_sk 241B
d84129ee406323d52360580bced0103d0225077ac0d5c4523f442b3acc46987f_sk 241B
.env.development 164B
若依环境使用手册.docx 418KB
e712455847c2edf3257aca246296b09717768bee455fda8950816c35bd266486-priv 241B
e712455847c2edf3257aca246296b09717768bee455fda8950816c35bd266486-pub 178B
.editorconfig 514B
.editorconfig 147B
.env 29B
.eslintignore 298B
fe15aa50d47f259873ec13e9bceb3602374a50dcb253f518d8d3e1b6a520a8a7_sk 241B
401.gif 160KB
.gitkeep 0B
farmercc.go 9KB
fabcar.go 7KB
productInfocc.go 6KB
drivercc.go 6KB
materialcc.go 6KB
retailercc.go 5KB
productprocesscc.go 5KB
index.html 5KB
index.html 193B
favicon.ico 6KB
ExcelUtil.java 32KB
Convert.java 25KB
共 1370 条
- 1
- 2
- 3
- 4
- 5
- 6
- 14
资源评论
- 2301_762018652024-05-09可以看一下私信吗?
不走小道
- 粉丝: 3199
- 资源: 4969
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功