当前位置: 首页 > 专利查询>复旦大学专利>正文

一种基于Fabric的物资援助溯源系统技术方案

技术编号:26419172 阅读:39 留言:0更新日期:2020-11-20 14:14
本发明专利技术属于区块链技术领域,具体为一种基于Fabric的物资援助溯源系统。本发明专利技术系统包括客户端、IPFS、Web服务、FabricSDK和Fabric网络;客户端为用户提供操作使用界面;Web服务处理IPFS从客户端收到的请求;Fabric网络由账本、通道和链码、CA、对等节点和排序节点组成;CA可管理角色在Fabric网络中的权限和资源;链码用于实现系统主要业务逻辑,与账本进行各种交互;Fabric网络内部节点都提供有基于gRPC协议的接口,用于数据交互;Fabric还提供多种语言版本的SDK;通过SDK可以访问Fabric网络中的多种资源,包括账本、交易、链码、事件、权限管理。本发明专利技术系统可以发布需求和援助,记录援助物资中转信息并保证真实性、可追溯。

【技术实现步骤摘要】
一种基于Fabric的物资援助溯源系统
本专利技术属于区块链
,具体涉及一种基于Fabric的物资援助溯源系统。
技术介绍
现阶段某些公益组织暴露出了物资调拨分配不均,不公开透明等问题,陷入信任危机,而区块链技术的发展为解决这一问题提供了思路。区块链技术首先应用于比特币系统,作为解决数据库安全和不需要信任的管理员问题的解决方案。在比特币系统中,区块链是其核心组成部分,通过对等网络上的服务器自主地管理区块链这个去中心化数据库,同时也使得比特币成为第一个解决双重支付问题的数字货币。Hyperleder项目由linux基金会于2015年发起的,它旨在使用区块链技术创造一个需要授权的、跨行业的、企业间共享的、冗余的账本,Fabric(一个许可的区块链架构)是其最活跃的子项目,主要有身份认证、账本管理、智能合约、交易管理四个模块构成。Fabric的账本由区块链和世界状态这两部分构成,世界状态可以频繁更改,区块链不可篡改。首先世界状态是一个数据库,它可以由支持Json数据格式的数据库Couchdb或者支持Key-Value数据格式的数据库LevelDB提供支持,存储的内容是一组账本状态的当前值。系统不需要遍历整个区块链交易日志即可通过世界状态直接获取一个账本状态的当前值,用户能够使用固定的接口来创建、删除和更新世界状态。而区块链是所有交易的日志,记录了导致当前世界状态的一系列交易历史,只能增加不可修改。智能合约是区块链上一段由开发人员编写的、可以运行的、给用户一定自由度来操作链上数据的代码,是区块链对外交互的接口。在Fabric中,智能合约被称作链码,开发人员在用户链码中根据自身需求,调用官方API,实现相关接口,完成相应业务逻辑,安装在Fabric网络中以后,通过命令行工具操作链码或者通过用SDK开发相应的客户端就可以对世界状态数据库进行增删改查。Fabric中用于数据隔离的一个重要概念是通道(channel),智能合约需要在通道中部署,一个组织可以加入多个通道,一个通道也允许多个组织的加入。在同一个通道中的智能合约可以互相调用,可以修改数据,不同通道的智能合约互相调用时只能读取数据,不可以写数据。IPFS(星际文件系统)是一个点对点的分布式文件系统,旨在创建持久且分布式存储和共享文件的网络传输协议,其存储的每个文件都有一个唯一的加密散列,当需要将图片等文件上链时,可以先存储到IPFS中,返回一个唯一的文件ID,将这个ID作为图片的标识,再存入Fabric世界状态的数据库。
技术实现思路
本专利技术的目的在于提出一种基于Fabric的物资援助溯源系统,以解决现今公益体系物资流向不公开透明等问题。本专利技术提出的基于Fabric的物资援助溯源系统,不同于大多数公益平台,本系统不涉及各种形式的善款筹集,只关注物资援助,具有需求发布,记录援助物资中转信息并保证真实性,查看物资信息等主要功能。本专利技术提出的基于Fabric的物资援助溯源系统,是基于Fabric的区块链应用系统,系统主要包括客户端、IPFS服务器、Web服务、FabricSDK和Fabric区块链网络等模块(参见图1)。其中,客户端主要为用户提供一个简洁、易于操作使用的界面;Web服务主要用于处理IPFS服务器从客户端收到的请求,根据请求内容,启用IPFS服务器或者调用FabricSDK;若请求内容包含图片存取操作,则需通过IPFS服务器进行:存储图片时,IPFS服务器将图片上传到IPFS文件系统中,返回唯一ID;取图片时,通过IPFS服务器,根据ID从IPFS文件系统得到相应图片;一个Fabric网络由账本、通道和链码、FabricCA(证书颁发机构)、对等节点和排序节点等部分组成。其中,FabricCA的功能是通过颁发和管理证书来精确的管理每个角色在Fabric网络中的权限和资源;链码用于实现本系统的主要业务逻辑,能够与账本进行各种交互。Fabric网络内部节点都提供了基于gRPC协议(谷歌远程过程调用)的接口,用于数据交互,在此基础上,为了简化开发,Fabric为开发人员提供了多种语言版本的SDK。通过SDK可以访问Fabric区块链网络中的多种资源,包括账本、交易、链码、事件、权限管理等。所述系统主要工作流程如下:(1)系统初始化:根据需求初始化Fabric网络,可通过配置文件配置组织信息,包括对等节点和排序节点组织的名称和域名、以及组织内用户数目等,然后通过CA根据配置文件内容生成对应组织的节点用户证书;然后可通过配置文件指定区块链网络节点的排序策略和一些与出块相关的信息,如出块时间,最大交易数等;然后使用命令生成创世区块和创世交易,通过配置文件配置Fabric网络运行容器的一些信息,如暴露的端口号等;将容器运行起来后,还需使用命令创建并加入通道,编写链码和实例化等操作;(2)登录注册:本系统作为互联网应用,登录注册是用户使用此系统的第一步。因本系统是一个公益平台,涉及个人利益,用户在客户端注册时应填写包括身份证号、姓名、密码和联系方式在内的必要信息,保证用户的真实性。通过SDK执行相应链码,链码验证成功后,将注册信息上链。登录时,用户输入身份证号和密码,服务器从链上获取数据,若密码正确,则登录成功;(3)发布求助与审核:用户根据自身情况发布求助信息时,应填写用户所代表的组织或者个人,还应填写自己需要的物资的类别和数目,填写收货地址和联系电话,同时应上传相关照片加以佐证。未被审核的求助信息需经过系统管理员审核才能公示,如若证明资料不足,系统管理员不予通过审核,审核的结果会告知用户;(4)发布援助:用户浏览系统平台时,决定对某一个求助项目进行援助,在线上填写要援助的物资种类和数目,以及相关物流信息;线下将物资交予物流公司,由物流公司送达指定地点,同时系统生成特定二维码。在物资运输过程中,需要物流公司协助配合(物流公司可以和本系统仅为合作关系,也可以作为一个组织参与到此Fabric网络中),协助方式可以为员工在转运点处扫描二维码,系统自动获取地理位置等信息,也可以为使用配套的物联网自动化装置,目的是避免人工输入,从而记录物资转运的真实信息;(5)查询和反馈:用户可以查询系统平台相关信息,包括求助信息和援助信息等;若求助人最终确认收到物资,可以进行图片和文字形式的反馈。本专利技术将相关信息上链,保证了信息的公开透明,不可篡改;同时链上数据的真实性由人工审核和系统本身应用的技术来共同确保,使得链上数据真实可信。附图说明图1为系统结构图示。图2为发布求助与审核的时序图示。图3为发布援助的时序图示。具体实施方式下面通过具体实施例进一步描述本专利技术,以便相关领域的技术人员能更好地理解本专利技术技术和功能特点,但本专利技术的保护范围不限于下述实施例。在本实施例中,编程语言为JavaScript、HTML、GoLang,前端界面由HTML、JS、CSS实现,Web服务通过gin框架实现,链码本文档来自技高网
...

【技术保护点】
1. 一种基于Fabric的物资援助溯源系统,其特征在于,包括客户端、IPFS服务器、Web服务、FabricSDK和Fabric网络;其中,客户端主要为用户提供一个简洁、易于操作使用的界面;Web服务主要用于处理IPFS服务器从客户端收到的请求,根据请求内容,启用IPFS服务器或者调用FabricSDK;若请求内容包含图片存取操作,则需通过IPFS服务器进行:存储图片时,IPFS服务器将图片上传到IPFS文件系统中,返回唯一ID;取图片时,通过IPFS服务器,根据ID从IPFS文件系统得到相应图片;Fabric网络由账本、通道和链码、Fabric CA、对等节点和排序节点组成;其中,Fabric CA的功能是通过颁发和管理证书来精确管理每个角色在Fabric网络中的权限和资源;链码用于实现本系统的主要业务逻辑,能够与账本进行各种交互;Fabric网络内部节点都提供有基于gRPC协议的接口,用于数据交互;在此基础上,Fabric还提供多种语言版本的SDK;通过SDK可以访问Fabric网络中的多种资源,包括账本、交易、链码、事件、权限管理。/n

【技术特征摘要】
1.一种基于Fabric的物资援助溯源系统,其特征在于,包括客户端、IPFS服务器、Web服务、FabricSDK和Fabric网络;其中,客户端主要为用户提供一个简洁、易于操作使用的界面;Web服务主要用于处理IPFS服务器从客户端收到的请求,根据请求内容,启用IPFS服务器或者调用FabricSDK;若请求内容包含图片存取操作,则需通过IPFS服务器进行:存储图片时,IPFS服务器将图片上传到IPFS文件系统中,返回唯一ID;取图片时,通过IPFS服务器,根据ID从IPFS文件系统得到相应图片;Fabric网络由账本、通道和链码、FabricCA、对等节点和排序节点组成;其中,FabricCA的功能是通过颁发和管理证书来精确管理每个角色在Fabric网络中的权限和资源;链码用于实现本系统的主要业务逻辑,能够与账本进行各种交互;Fabric网络内部节点都提供有基于gRPC协议的接口,用于数据交互;在此基础上,Fabric还提供多种语言版本的SDK;通过SDK可以访问Fabric网络中的多种资源,包括账本、交易、链码、事件、权限管理。


2.根据权利要求1所述的基于Fabric的物资援助溯源系统,其特征在于,系统工作流程如下:
(1)系统初始化:
根据需求初始化Fabric网络,即通过配置文件配置组织信息,包括对等节点和排序节点组织的名称和域名、以及组织内用户数目,然后通过FabricCA根据配置文件内容生成对应组织的节点用户证书;然后通过配置文件指定区块链网络节点的排序策略和一些与出块相关的信息,包括出块时间、最大交易数;然后使用命令生成创世区块和创世交易,通过配置文件配置Fabric网络运行容器的一些信息;将容器运行起来后,使用命令创建并加入通道,编写链码和实例化等操作;
(2)登录注册:
用户在客户端注册时,填写包括身份证号、姓名、密码和联系方式在内的必要信息,保证用户的真实性;通过FabricSDK执行相应链码,链码验证成功后,将注册信息上链;登录时,用户输入身份证号和密码,IPFS服务器从链上获取数据,若密码正确,则登录成功;
(3)发布求助与审核:
用户根据自身...

【专利技术属性】
技术研发人员:阚海斌王艺豪刘百祥吴小川
申请(专利权)人:复旦大学
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1