草庐IT

基于fabric的物资管理系统

sondert 2023-04-05 原文

基于区块链的物资管理系统

一、选题的背景与意义

*近年来,随着新型冠状病毒肺炎疫情暴发后,疫情严重地区受到国内各行各业的人关注和援助。全国人们给疫情严重地区捐物出力,但是捐赠的物资因为我国的交通运输行业存在的一系列问题如:数据信息孤立且分散、还不透明、难追溯等,导致物资的管理有很多不尽人意的地方。这不仅让捐赠者无法随时关注物资信息,甚至无法让他们知道物资最终捐赠到何地,运到了何人的手中。这也让被捐赠者无法知道是谁帮助了他们。因此针对以上问题,我们采用了具有去中心化、去信任、难篡改、匿名性、可编程等特点的区块链技术让信息能够公开,让捐赠者和被捐赠者能够即时知道物资的信息,让他们之间的信任问题能够得到解决。*

*区块链作为一种分布式账本,由于其数据不能被篡改和去中心化的特点,以被广泛应用于金融、政务、医疗、支付和资产管理等领域[1]。使得区块链技术成为继移动互联网、大数据和云计算等新技术之后发展最为迅速的信息化技术。区块链中的数据是保存在链式的数字化账本中,通过特定的加密机制,可确保数据不要被篡改。区块链网络中各节点通过智能合约进行相应的操作,对数据的任何操作都会被记录到数字账本中,确保了信息的真实可靠和可溯源特性[2]。*

*借助区块链技术搭建交通运输行业系统架构,利用超级账本Fabric搭建疫情物资管理系统。保证了区块链的“诚实”与“透明”,为区块链创造信任奠定基础。解决了在疫情物资的管理过程当中出现的:调用记录不透明,物资分配不合理,物资来源可追溯性差等一系列问题。从而使疫情物资分配更加公开透明合理,大大提高疫情物资的调用分配的效率,为拯救更多的生命,创造了更好的条件。*

*目前,疫情物资管理系统已经成为区块链技术重点应用的领域之一 ,研究和探索区块链技术在疫情物资管理系统的应用对社会发展和人民的生命财产安全均具有重要的意义,而且将区块链技术应用于疫情物资管理系统是具有可行性和可操作性的。*

二、主要技术介绍

  • 基于若依

  • 后端:Spring Boot 、Mybatis

  • 前端框架: Vue、js、Node.js、element-ui

  • 权限控制: Spring Security

  • 数据库:Mysql

  • 服务器: tomcat、docker、docker compose、shell脚本

  • 完全前后端分离

  • 区块链:hyperledger fabric

  • 编程语言:java(后端)、go(fabric 智能合约编写)

三、主要功能要求

系统的通用模块ruiyi已经开发好了,处理它自带的权限模块、用户模块、日志模块、部门模块等等,我还开发了以下的模块

(1)信息模块

  1. 物资信息
  2. 车辆信息
  3. 物资来源
  4. 物资流向
  5. 仓库信息

(2)物资入库

(3)物资发放

(4)物资运输

(5)物资库存

四、业务流程

五、数据库

(1)mysql

(2)CouchDB


六、系统架构

七、系统页面

(1)入库


(2)运输(同入库)

(3)出库(同入库)

(4)库存

八、fabric 区块链网络

最后

仓库已经开源,求star
仓库跳转

有关基于fabric的物资管理系统的更多相关文章

  1. ruby - i18n Assets 管理/翻译 UI - 2

    我正在使用i18n从头开始​​构建一个多语言网络应用程序,虽然我自己可以处理一大堆yml文件,但我说的语言(非常)有限,最终我想寻求外部帮助帮助。我想知道这里是否有人在使用UI插件/gem(与django上的django-rosetta不同)来处理多个翻译器,其中一些翻译器不愿意或无法处理存储库中的100多个文件,处理语言数据。谢谢&问候,安德拉斯(如果您已经在ruby​​onrails-talk上遇到了这个问题,我们深表歉意) 最佳答案 有一个rails3branchofthetolkgem在github上。您可以通过在Gemfi

  2. ruby-on-rails - 获取 inf-ruby 以使用 ruby​​ 版本管理器 (rvm) - 2

    我安装了ruby​​版本管理器,并将RVM安装的ruby​​实现设置为默认值,这样'哪个ruby'显示'~/.rvm/ruby-1.8.6-p383/bin/ruby'但是当我在emacs中打开inf-ruby缓冲区时,它使用安装在/usr/bin中的ruby​​。有没有办法让emacs像shell一样尊重ruby​​的路径?谢谢! 最佳答案 我创建了一个emacs扩展来将rvm集成到emacs中。如果您有兴趣,可以在这里获取:http://github.com/senny/rvm.el

  3. ruby-on-rails - 事件管理员日期过滤器日期格式自定义 - 2

    是否有简单的方法来更改默认ISO格式(yyyy-mm-dd)的ActiveAdmin日期过滤器显示格式? 最佳答案 您可以像这样为日期选择器提供额外的选项,而不是覆盖js:=f.input:my_date,as::datepicker,datepicker_options:{dateFormat:"mm/dd/yy"} 关于ruby-on-rails-事件管理员日期过滤器日期格式自定义,我们在StackOverflow上找到一个类似的问题: https://s

  4. 叮咚买菜基于 Apache Doris 统一 OLAP 引擎的应用实践 - 2

    导读:随着叮咚买菜业务的发展,不同的业务场景对数据分析提出了不同的需求,他们希望引入一款实时OLAP数据库,构建一个灵活的多维实时查询和分析的平台,统一数据的接入和查询方案,解决各业务线对数据高效实时查询和精细化运营的需求。经过调研选型,最终引入ApacheDoris作为最终的OLAP分析引擎,Doris作为核心的OLAP引擎支持复杂地分析操作、提供多维的数据视图,在叮咚买菜数十个业务场景中广泛应用。作者|叮咚买菜资深数据工程师韩青叮咚买菜创立于2017年5月,是一家专注美好食物的创业公司。叮咚买菜专注吃的事业,为满足更多人“想吃什么”而努力,通过美好食材的供应、美好滋味的开发以及美食品牌的孵

  5. 电脑0x0000001A蓝屏错误怎么U盘重装系统教学 - 2

      电脑0x0000001A蓝屏错误怎么U盘重装系统教学分享。有用户电脑开机之后遇到了系统蓝屏的情况。系统蓝屏问题很多时候都是系统bug,只有通过重装系统来进行解决。那么蓝屏问题如何通过U盘重装新系统来解决呢?来看看以下的详细操作方法教学吧。  准备工作:  1、U盘一个(尽量使用8G以上的U盘)。  2、一台正常联网可使用的电脑。  3、ghost或ISO系统镜像文件(Win10系统下载_Win10专业版_windows10正式版下载-系统之家)。  4、在本页面下载U盘启动盘制作工具:系统之家U盘启动工具。  U盘启动盘制作步骤:  注意:制作期间,U盘会被格式化,因此U盘中的重要文件请注

  6. 【鸿蒙应用开发系列】- 获取系统设备信息以及版本API兼容调用方式 - 2

    在应用开发中,有时候我们需要获取系统的设备信息,用于数据上报和行为分析。那在鸿蒙系统中,我们应该怎么去获取设备的系统信息呢,比如说获取手机的系统版本号、手机的制造商、手机型号等数据。1、获取方式这里分为两种情况,一种是设备信息的获取,一种是系统信息的获取。1.1、获取设备信息获取设备信息,鸿蒙的SDK包为我们提供了DeviceInfo类,通过该类的一些静态方法,可以获取设备信息,DeviceInfo类的包路径为:ohos.system.DeviceInfo.具体的方法如下:ModifierandTypeMethodDescriptionstatic StringgetAbiList​()Obt

  7. 基于C#实现简易绘图工具【100010177】 - 2

    C#实现简易绘图工具一.引言实验目的:通过制作窗体应用程序(C#画图软件),熟悉基本的窗体设计过程以及控件设计,事件处理等,熟悉使用C#的winform窗体进行绘图的基本步骤,对于面向对象编程有更加深刻的体会.Tutorial任务设计一个具有基本功能的画图软件**·包括简单的新建文件,保存,重新绘图等功能**·实现一些基本图形的绘制,包括铅笔和基本形状等,学习橡皮工具的创建**·设计一个合理舒适的UI界面**注明:你可能需要先了解一些关于winform窗体应用程序绘图的基本知识,以及关于GDI+类和结构的知识二.实验环境Windows系统下的visualstudio2017C#窗体应用程序三.

  8. kvm虚拟机安装centos7基于ubuntu20.04系统 - 2

    需求:要创建虚拟机,就需要给他提供一个虚拟的磁盘,我们就在/opt目录下创建一个10G大小的raw格式的虚拟磁盘CentOS-7-x86_64.raw命令格式:qemu-imgcreate-f磁盘格式磁盘名称磁盘大小qemu-imgcreate-f磁盘格式-o?1.创建磁盘qemu-imgcreate-fraw/opt/CentOS-7-x86_64.raw10G执行效果#ls/opt/CentOS-7-x86_64.raw2.安装虚拟机使用virt-install命令,基于我们提供的系统镜像和虚拟磁盘来创建一个虚拟机,另外在创建虚拟机之前,提前打开vnc客户端,在创建虚拟机的时候,通过vnc

  9. ruby - (Ruby || Python) 窗口管理器 - 2

    我想用这两种语言中的任何一种(最好是ruby​​)制作一个窗口管理器。老实说,除了我需要加载某种X模块外,我不知道从哪里开始。因此,如果有人有线索,如果您能指出正确的方向,那就太好了。谢谢 最佳答案 XCB,X的下一代API使用XML格式定义X协议(protocol),并使用脚本生成特定语言绑定(bind)。它在概念上与SWIG类似,只是它描述的不是CAPI,而是X协议(protocol)。目前,C和Python存在绑定(bind)。理论上,Ruby端口只是编写一个从XML协议(protocol)定义语言到Ruby的翻译器的问题。生

  10. ruby - 在没有基准或时间的情况下用 Ruby 测量用户时间或系统时间 - 2

    因为我现在正在做一些时间测量,我想知道是否可以在不使用Benchmark类或命令行实用程序time的情况下测量用户时间或系统时间。使用Time类只显示挂钟时间,而不显示系统和用户时间,但是我正在寻找具有相同灵active的解决方案,例如time=TimeUtility.now#somecodeuser,system,real=TimeUtility.now-time原因是我有点不喜欢Benchmark,因为它不能只返回数字(编辑:我错了-它可以。请参阅下面的答案。)。当然,我可以解析输出,但感觉不对。*NIX系统的time实用程序也应该可以解决我的问题,但我想知道是否已经在Ruby中实

随机推荐