Coder Social home page Coder Social logo

huiliyikk / blockchain-trace-fabric Goto Github PK

View Code? Open in Web Editor NEW

This project forked from steakliu/blockchain-trace-fabric

1.0 0.0 0.0 17.49 MB

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

JavaScript 12.59% HTML 0.33% Vue 32.07% Batchfile 0.05% Java 49.03% Shell 2.20% Go 2.74% SCSS 0.99%

blockchain-trace-fabric's Introduction

基于Fabric的农产品溯源系统

介绍

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

若有疑问,可关注公众号获取联系方法,点击联系作者,消息回晚了别在意,都会回复的(出怎么安装mysql,redis,数据库怎么连不上,redis怎么连不上等问题),感谢您的支持。
输入图片说明

软件架构

此系统有四个模块, 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 , 

安装教程

一.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版本问题安装会出一些问题,尽量保持版本为12.*

7.安装用户密钥

node enrollAdmin.js

node registerUser.js

执行node registerUser.js可能会安装失败,请删除一下hfc-key-store后重新执行,如果还是失败,可能就是npm install出问题。

8.启动node服务(node服务就是一个中间件,连接前端和区块链网络)

node app.js

如果需要让其常驻后台,需要安装pm2。

启动:pm2 start app.js

停止:pm2 stop app.js

到这里,区块链网络就部署完成

二.系统基础数据后台blockchain-trace-basic-data,是一个SpringBoot项目

1.修改application.yml文件中的Redis地址和fastdfs地址

  # 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: 127.0.0.1

2.修改application-druid.yml文件中mysql地址

# 数据源配置
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,修改为区块链网络所在服务器地址

Vue.prototype.$httpUrl = "http://localhost:8080/route";

3.启动项目

npm run dev

四.小程序(blockchain-trace-applets)

自己使用开发者工具打开

架构图

申明

本人对区块链也只是了解一点皮毛,还有自己也没从事区块链工作,为有需要的同学解答问题完全出于人道主义,那些加上我后就让我远程调试的,我有时间 肯定会帮忙,但是请先自己思考后,去网上找答案后,实在解决不了,我才帮忙,不要一上来就我不会,帮我调一下,大家都很忙,彼此尊重一下,运行这个项目, 最起码你要懂怎么运行springboot项目,vue项目,会安装数据库这些吧,如果这些都不会,请先了解一下,这些问题一概不回答,完全没必要浪费彼此的时间,本系统完全是demo级的,供大家学习。

如果本项目帮助到你,请给个免费的star

界面

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

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

添加农作物 输入图片说明

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

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

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

司机运输定位(本系统采用PC端定位,实际上这是不行的,你想想,司机在开车过程中还要去打开浏览器进入系统去定位?这里只是模拟 ) 输入图片说明 输入图片说明

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

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

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

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

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

blockchain-trace-fabric's People

Contributors

steakliu avatar

Stargazers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.