基于Hyperledger Fabric实现药品溯源

2020年9月7日11:16:40防伪溯源62,150阅读模式
摘要

基于Hyperledger Fabric实现药品溯源的demo功能简介,涉及药厂节点,代理商节点,零售商节点等多机构间的上链查询。

基于Hyperledger Fabric实现药品溯源

本Demo通过4个节点模拟排序节点,药厂节点,代理商节点,零售商节点。3个peer节点对应不同业务逻辑的链码(智能合约),通过链式的存储结构(如ppt所示),达到层层查找的目的,最终通过唯一ID查到每个环节的溯源信息。由于链式存储需要将整个表结构存储下来,所以每个peer节点都需要在最开始进行(表结构)初始化。本方案可以用作通用防伪溯源、供应链等的溯源业务参考。下面是演示过程,通过后台url传参的方式向区块链存储或查询数据,“一”,“二”,“三”分别为3个责任方(peer)节点进行数据上链的操作。“四”为用户查询过程。

 

一.药厂组织数据上链

药厂(表结构)初始化:

(红色标注的信息为传入的具体信息)

基于Hyperledger Fabric实现药品溯源

药厂信息上链:

基于Hyperledger Fabric实现药品溯源

药品信息上链:

基于Hyperledger Fabric实现药品溯源

二.代理商组织数据上链

代理商(表结构)初始化:

基于Hyperledger Fabric实现药品溯源

代理商流转信息上链:

基于Hyperledger Fabric实现药品溯源

三.代理商组织数据上链

零售商(表结构)初始化:

基于Hyperledger Fabric实现药品溯源

零售商信息上链:

基于Hyperledger Fabric实现药品溯源

四.用户查询

用户通过药品唯一ID查询链上所有溯源信息:

基于Hyperledger Fabric实现药品溯源

提示

由于整个Fabric的底层存储结构是<k,v>型数据库,一次每个key-value存储都对应一笔交易,即存在一个交易Hash,一次可以通过每个hash去查询每笔交易记录。整个溯源过程中所有数据添加都有hash即时间戳,以便随时验证数据真伪。