1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/steakliu-Blockchain-APTrace-Fabric

Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

一物一码商业版购买或商务合作请转到北京引瓴数智科技有限公司官网进行查看

官网地址: https://www.yinlingshuzhi.com/

一物一码体验地址: https://demo.trace.yinlingshuzhi.com/

基于Fabric的农产品溯源系统

Пусть еда на столе человека вернётся к эпохе сельского хозяйства!

Введение

С развитием общества и непрерывным прогрессом технологий, сегодня вы всё ещё помните о тех овощных садах, где фермеры использовали только органические удобрения? В детстве, хотя материальные условия были относительно скудными, но каждая съеденная порция была такой ароматной, какой она никогда не была после взросления. Теперь, чтобы выжить, мы покидаем любимые родные места и живём в бетонных джунглях городов. Иногда вы вспоминаете о потерянных вкусах?

На основе блокчейн-технологии создана система отслеживания происхождения сельскохозяйственной продукции, которая включает в себя ПК-версию, H5-версию и пять организационных узлов: фермеры, поставщики сырья, производители, логистические компании, розничные продавцы. После того как продукт проходит весь путь от производства до продажи, покупатель может отследить его происхождение. Данные на каждом этапе процесса добавляются в цепочку блоков, что делает процесс прозрачным.

Эта система представляет собой идею применения блокчейна в бизнесе, поскольку в сознании большинства людей блокчейн ассоциируется только с биткоином. На самом деле это не так. Блокчейн может быть использован в различных отраслях, таких как отслеживание происхождения продуктов питания, электронное удостоверение личности, судебная система, финансы, материализация активов, управление образовательными архивами, медицина, нотариальное заверение и т. д., где он обладает естественными преимуществами, такими как неизменность, децентрализация, распределённость и возможность отслеживания. Он может применяться во многих сценариях.

Архитектура системы

Изображение

Системные модули и технологии

В этой системе есть четыре модуля: blockchain-trace-bcnetwork, blockchain-trace-applets, blockchain-trace-pc и blockchain-trace-basic-data. В этой системе реализована только одна функция добавления данных в цепочку блоков. Это довольно просто, потому что мы можем реализовать большинство функций самостоятельно. Однако идея продукта очень ценна, и придумать решение для конкретной ситуации может быть непросто.

После появления идеи необходимо более глубоко изучить детали. Например, узлы фермеров, поставщиков сырья и других должны быть расширяемыми, позволяя динамически добавлять и удалять узлы, а также иметь систему поощрений и наказаний, например, повышение доверия к узлу приводит к его сохранению, а понижение — к удалению. Также необходимо продумать, как добавить данные в цепочку блоков: каждый шаг или только определённые шаги? Если каждый шаг будет добавлен в цепочку, то она станет слишком большой. Если же не все шаги будут добавлены, то как обеспечить надёжность? Как спроектировать этапы процесса: динамическое добавление или жёсткое кодирование? Эти вопросы требуют нашего внимания.

*blockchain-trace-bcnetwork*: сеть блокчейна, позволяющая напрямую загружать файлы на сервер и запускать встроенные скрипты.

*blockchain-trace-applets*: приложение для отслеживания происхождения на H5.

*blockchain-trace-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 ядра, 4 ГБ или больше, можно использовать и с 2 ГБ), Docker, Docker-compose.  

Поскольку эта система блокчейна является самой простой, такие аспекты, как консенсус (использующий встроенный solo), порядок узлов (один узел), не являются оптимальными. Поэтому эта версия просто передаёт основную идею приложения, и в будущем возможно создание более функциональной системы на её основе.

Инструкция по установке

Шаг 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. Запустите файл start.sh в каталоге basic_network

chmod -R 777 start.sh

./start.sh

Здесь могут возникнуть проблемы, которые можно решить с помощью поиска в Интернете.

5. Запустите ./start.sh в каталоге webapp

Сначала предоставьте разрешения на выполнение всем файлам sh в каталоге webapp, следующим образом:

chmod -R 777 startFarmerCC.sh  

6. Выполните npm install для установки зависимостей

npm install

Возможно, возникнут проблемы с версией узла, и версия node8 должна работать нормально.

7. Зарегистрируйте пользователя

node enrollAdmin.js

node registerUser.js

При выполнении node registerUser.js может произойти сбой, пожалуйста, удалите hfc-key-store и повторите попытку. Если всё равно происходит сбой, возможно, проблема связана с установкой npm. Обратите внимание на версию узла и используйте node12.

8. Запустите службу узла (служба узла является промежуточным программным обеспечением, соединяющим фронтенд и сеть Fabric)

node app.js

Если требуется, чтобы служба работала в фоновом режиме, установите pm2.

  • Запуск: pm2 start app.js

  • Остановка: pm2 stop app.js

Теперь сеть блокчейна установлена.

Шаг 2. Базовая система данных backend blockchain-trace-basic-data, проект Spring Boot

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: http://127.0.0.1:8888/

2. Измените application-druid.yml в MySQL

# 数据源配置
spring:
    datasource:
        type: com.alibaba.druid.pool.DruidDataSource
        driverClassName: com.mysql.cj.jdbc.Driver
        druid:
            # 主库数据源
            master:
                url: ### Три. 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)

Откройте его с помощью инструмента разработчика.

Интерфейс

Блокчейн-браузер

Здесь используется API Fabric для отображения данных. В экосистеме Fabric есть проект блокчейн-браузера, который можно использовать, но он также вызывает API Fabric.

Добавление сельскохозяйственных культур

Это часть добавления сельскохозяйственных культур. Для сельскохозяйственных культур, которые, безусловно, являются отдельными блоками, если необходимо решить проблему происхождения сельскохозяйственных культур, возможно, потребуется планирование земельных участков и использование устройств IoT для передачи данных о земельных участках и сельскохозяйственных культурах.

Запись процесса выращивания сельскохозяйственных культур

Процесс выращивания сельскохозяйственных культур очень важен, поскольку он может чётко показать рост сельскохозяйственных культур и условия окружающей среды, что способствует повышению жизнеспособности и позволяет потребителям проверять некоторые данные на месте.

Отслеживание логистики

Это только имитация реальной ситуации. На самом деле, когда продукт прибывает в определённое место, эти данные должны быть отправлены, как при покупке товаров в интернете, и можно увидеть их путь.

Проверка качества сырья поставщиком

Поставщик сырья проводит проверку качества после того, как сельскохозяйственные культуры были возвращены. Необходимо проверить качество сырья, чтобы предотвратить поставку некачественного сырья. Здесь необходимо участие соответствующих ведомств и инспекционных органов для обеспечения качества сырья, что позволит производить качественную продукцию.

Входной файл изображения

Срез экрана производителя

Производитель здесь обрабатывает сырьё и производит продукцию. Сюда входит информация о продукте, добавленная в цепочку блоков, процесс обработки, добавленный в цепочку блоков. Важно отслеживать, кто обрабатывал продукт, потому что только отслеживание людей и вещей может обеспечить достоверность и надёжность. Если действительно возникают проблемы, также полезно отследить происхождение, я думаю, это также является конкурентоспособностью бренда. Конечно, ещё много информации нужно расширить.

Розничный продавец

Розничный продавец в основном подписывает получение продукции и генерирует идентификаторы происхождения продукта. Двумерные коды можно расширить самостоятельно. Это просто.

Файл входного изображения

Происхождение ПК

Источник данных мобильного приложения

Сканирование ID для отслеживания источника не является разумным. Вместо этого следует отсканировать QR-код, чтобы перейти в мобильное приложение. Если вы действительно хотите создать бренд сельскохозяйственной продукции, то должно быть сертифицированное мобильное приложение, которое потребители могут использовать для отслеживания, оценки и предоставления других функций.

Данный текст написан на русском языке. ## Заявление

Этот проект можно использовать в качестве курсовой работы или дипломного проекта, без каких-либо ограничений.

Запрещается продажа исходного кода (например, на платформах Taobao, CSDN, «Хэнюй» и т. д.), а также использование проекта для участия в соревнованиях (при необходимости свяжитесь со мной).

Публичный аккаунт

[刘牌]

输入图片说明

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

На основе блокчейна (fabric) платформа отслеживания происхождения сельскохозяйственной продукции. Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/steakliu-Blockchain-APTrace-Fabric.git
git@api.gitlife.ru:oschina-mirror/steakliu-Blockchain-APTrace-Fabric.git
oschina-mirror
steakliu-Blockchain-APTrace-Fabric
steakliu-Blockchain-APTrace-Fabric
master