前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >基于超级账本Fabric的供应链跟踪解决方案【开源】

基于超级账本Fabric的供应链跟踪解决方案【开源】

作者头像
用户1408045
发布2019-03-29 15:45:59
1.3K0
发布2019-03-29 15:45:59
举报
文章被收录于专栏:汇智网教程

本项目为基于Hyperledger Fabric区块链的供应链资产跟踪解决方案,项目主要包括链码和Web应用两部分。Fabric链码采用GOLANG开发,负责维护资产的状态,后台为采用Node.js开发的Web应用,负责为用户提供访问区块链上资产的操作界面,例如资产的创建、所有权转移等操作。

如果希望快速高效地掌握超级账本Fabric区块链的开发,强烈推荐这个在线互动课程:

在本项目中要跟踪的资产是大理石,当然可以换成和你的业务相关的任何类型资产。大理石资产的属性定义如下,所有的属性值都是字符串:

  • ID:资产的唯一标识符
  • COLOR:资产的颜色
  • SIZE:资产的尺寸,单位:MM
  • OWNER:持有人

本项目提供一个基于Web的用户界面,以便用户操作区块链上的数据。资产在区块链上以键/值对的形式保存。我们使用资产ID作为键,所有的资产属性构成一个JSON对象,其对应的字符串作为资产的值。在Fabric区块链上,应用与链码的交互是通过与网络上的Peer节点通过gRPC协议通信完成的。

应用通信框架

整个应用的通信流程如下图所示:

communication flow
communication flow

1、管理员使用浏览器与Node.js应用交互,我们将该Node.js应用称为Marbles。

2、浏览器中的客户端JS代码将通过websocket与Node.js应用交互,当管理员操作界面时,客户端 JS将向后端发送消息。

3、读写账本的操作在Fabric中被称为提议(Proposal),由Node.js应用负责生成提议并发送给Fabric区块链的对等节点(Peer)。

4、Peer节点与部署在其本地的链码通信,链码将执行/模拟交易,如果模拟的结果没有问题,节点 将对交易进行背书并返回响应给Node.js应用。

5、Node.js应用会将背书过的提议发送给Farbic区块链的排序节点(Orderer),排序节点负责将整个网络上的多个提议打包并生成新的区块,然后广播给所有的对等节点。

6、最后,对等节点将验证收到的区块,然后写入自己维护的账本,交易现在就生效了,任何之后 发生的账本读取操作都可以反应账本的变化。

使用手册

安装完成后,访问http://localhost:3001打开web界面,可以执行资产创建、资产交易等操作。

创建新资产

点击**+**图标创建新的资产:

use_marbles1
use_marbles1

在弹出的窗口中输入所有的资产属性后,点击CREATE按钮,然后等待新资产在链上创建成功。

资产交易

在web界面中可以通过拖拽方式将一个大理石资产的所有权从一个用户转移给另一个用户。

删除资产

在web界面中也可以将资产拖拽到垃圾桶中,然后等待资产从链上消失:

use_marbles2
use_marbles2

资产查询

可以在web页面中按资产持有人或资产公司名称进行查询。

应用源码链接:https://github.com/Incede/SupplyChain

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 应用通信框架
  • 使用手册
    • 创建新资产
      • 资产交易
        • 删除资产
          • 资产查询
          相关产品与服务
          区块链
          云链聚未来,协同无边界。腾讯云区块链作为中国领先的区块链服务平台和技术提供商,致力于构建技术、数据、价值、产业互联互通的区块链基础设施,引领区块链底层技术及行业应用创新,助力传统产业转型升级,推动实体经济与数字经济深度融合。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档