文档章节

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

汇智网教程
 汇智网教程
发布于 03/24 21:58
字数 974
阅读 61
收藏 2

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

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

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

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

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

marbles peek

应用通信框架

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

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

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

资产交易

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

删除资产

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

use_marbles2

资产查询

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

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


原文链接:基于Fabric区块链的供应链跟踪解决方案 — 汇智网

© 著作权归作者所有

汇智网教程
粉丝 16
博文 221
码字总数 268089
作品 0
东城
私信 提问
Hyperledger Fabric 介绍

Hyperledger (超级账本)是一组开源工具,旨在构建一个强大的、业务驱动的区块链框架。 Hyperledger (超级账本)是区块链行业中最大的项目之一,它由一组开源工具和多个子项目组成。该项目...

作者: Matt Zand
09/11
0
0
Hyperledger区块链技术生态

Hyperledger区块链技术生态 Hyperledger是一个专注于企业级区块链技术并推动区块链跨行业应用的开源项目,孵化并推广一系列区块链技术,包括分布式账本框架,智能合约引擎,客户端库,图形界...

Jonluo
05/29
29
0
互链大咖谈|超级账本亚太副总裁Julian Gordon: 20%的会员和10%的贡献者来自于中国

互链脉搏按:超级账本(Hyperledger)副总裁Julian Gordon近些年频频来到中国,用他的话说,在超级账本生态中,中国是最活跃的。 超级账本是Linux基金会于2015年发起的推进区块链数字技术和交...

互链脉搏
2018/07/31
0
0
区块链技术基础:分布式账本简介

区块链技术基础:分布式账本简介 了解这种改变游戏规则的技术和如何开始使用它 Sloane Brakeville 和 Bhargav Perepa 2016 年 5 月 09 日发布/更新: 2017 年 9 月 21 日 获取最佳免费工具、培...

Sloane Brakeville
2016/05/09
0
0
Hyperledger Fabric 1.0,基于区块链的分布式账本

由 Linux 基金会发起创建的开源区块链分布式账本 —— Hyperledger Fabric,已经迎来了 1.0 版本。该项目着重于性能和可靠性,以及推动区块链和分布式账本技术的跨行业协作。Hyperledger Fab...

达尔文
2017/07/12
1K
3

没有更多内容

加载失败,请刷新页面

加载更多

springboot2.0 maven打包分离lib,resources

springboot将工程打包成jar包后,会出现获取classpath下的文件出现测试环境正常而生产环境文件找不到的问题,这是因为 1、在调试过程中,文件是真实存在于磁盘的某个目录。此时通过获取文件路...

陈俊凯
今天
6
0
BootStrap

一、BootStrap 简洁、直观、强悍的前端开发框架,让web开发更加迅速、简单 中文镜像网站:http://www.bootcss.com 用于开发响应式布局、移动设备优先的WEB项目 1、使用boot 创建文件夹,在文...

wytao1995
今天
10
0
小知识:讲述Linux命令别名与资源文件的区别

别名 别名是命令的快捷方式。为那些需要经常执行,但需要很长时间输入的长命令创建快捷方式很有用。语法是: alias ppp='ping www.baidu.com' 它们并不总是用来缩短长命令。重要的是,你将它...

老孟的Linux私房菜
今天
8
0
《JAVA核心知识》学习笔记(6. Spring 原理)-5

它是一个全面的、企业应用开发一站式的解决方案,贯穿表现层、业务层、持久层。但是 Spring 仍然可以和其他的框架无缝整合。 6.1.1. Spring 特点 6.1.1.1. 轻量级 6.1.1.2. 控制反转 6.1.1....

Shingfi
今天
8
0
Excel导入数据库数据+Excel导入网页数据【实时追踪】

1.Excel导入数据库数据:数据选项卡------>导入数据 2.Excel导入网页数据【实时追踪】:

东方墨天
今天
11
1

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部