36. Fabric 与 IPFS使用

Posted 明神特烦恼

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了36. Fabric 与 IPFS使用相关的知识,希望对你有一定的参考价值。

有小伙伴关心Fabric如何与IPFS相结合,本节我们来聊聊为什么要使用IPFS,哪些场景需要使用IPFS,并使用ipfs golang sdk 管理IPFS数据。

1. 什么是IPFS

IPFS是分布式存储,可将文件信息存储至IPFS系统,并返回文件Hash值,用户可通过Hash值查询到文件内容。

2. IPFS方案设计

2.1 区块链存储文件的缺点

性能考量:在第22节中介绍一笔交易如何经过交易执行、背书、排序、落块等流程,如果交易内容中包含一个5K的文件,那么在执行上述流程中交易会在各系统、节点间进行传输,将会造成很大的网络开销。
存储考量:区块链是对等分布式存储系统,如果有10个Peer节点,3个Orderer节点,每个节点存储完整区块链数据,文件数据将会存储13份,极大浪费存储。
隐私考量:如果文件内容涉及到企业核心机密,不能将原文存储到区块链上。

2.2 设计一个解决上述问题的方案


上图比较好理解,业务传输过来的交易其中包含图片、文件等占用大空间的字段&

基于区块链与IPFS的数据共享系统设计与搭建(附区块链部分源码)

注意:源码仅包含了区块链+链码+区块链浏览器+tape部分。不含前后端源码,如有需要请联系文末微信(付费,订阅专栏用户优惠)

购买专栏前请认真阅读:《Fabric项目学习笔记》专栏介绍

区块链以及智能合约源码请看专栏介绍中的QQ群获取(文件名:datashare_blockchain)

视频演示:

基于区块链(Hyperledger Fabric)与IPFS的数据共享系统

系统简介:

本系统使用RSA算法生成密钥对, RSA私钥用于用户身份认证;用户发送的数据将存储于IPFS, IPFS返回的CID(IPFS Hash)使用发送者与接收者的RSA公钥加密后存储于区块链; 区块链部分使用Hyperledger Fabric,并用Hyperledger Explorer追踪交易

包含功能与技术栈:

  1. 基于Fabric v1.4.4 first-network,四个peer一个orderer节点,使用docker部署
  2. IPFS使用的是ipfs/kubo镜像,负责用户数据文件的存储,IPFS返回的CID存储于Fabric

以上是关于36. Fabric 与 IPFS使用的主要内容,如果未能解决你的问题,请参考以下文章

基于区块链与IPFS的数据共享系统设计与搭建(附区块链部分源码)

Android Fabric SDK 插件与新添加的 Gradle 插件冲突

Hyperledger Fabric 应用实战--前期准备

是否可以在使用 Fabric / Crashlytics 启动时查看先前崩溃的堆栈跟踪?

如何安装 Fabric 和 Crashlytics

从 Azure Service Fabric 中的不同应用程序与无状态 Web Api 服务通信