基于区块链与IPFS的数据共享系统搭建步骤

本教程介绍如何构建基于Blockchain与IPFS的数据共享系统。系统采用RSA算法进行身份验证,使用Hyperledger Fabric作为区块链平台,IPFS用于文件存储。通过Fabric v1.4.4部署四个peer和一个orderer节点,集成IPFS和Hyperledger Explorer。系统还包含后端gin框架和前端Vue应用,支持文件的上传下载。详细安装步骤包括设置Ubuntu、Docker、docker-compose和Go环境,并提供了链码压力测试的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

购买专栏前请认真阅读:《基于区块链与IPFS的数据共享系统》专栏简介

视频演示:

https://www.bilibili.com/video/BV1y24y1v7RX
截图

系统简介:

本系统使用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
  3. 项目包含了Hyperledger Explorer(区块链浏览器),默认跟随脚本启动
  4. 项目包含了tape对链码压测
  5. 使用RSA公私钥鉴别用户身份(1024位)
  6. 链码对传输记录进行存储,包含:发送者公钥、接收者公钥、文件在IPFS的加密CID(由发送者或接收者的公钥加密)、文件名、时间戳、Fabric交易id
  7. 后端使用gin框架实现,前端使用Vue和Element ui实现
    使用go fabric sdk调用智能合约;使用go-ipfs-api上传与下载用户文件;使用uuid对用户的文件名(下载时)进行加密

安装步骤(默认是在本地虚拟机)

  1. 安装ubuntu 20.04(或其他Linux发行版),docker,docker-compose,go1.19
    docker,docker-compose,go1.19安装方法请参考此文章:https://blog.csdn.net/qq_41575489/article/details/129129086

  2. 向/etc/hosts 写入:

    127.0.0.1 orderer.example.com
    127.0.0.1 peer0.org1.example.com
    127.0.0.1 peer1.org1.example.com
    127.0.0.1 peer0.org2.example.com
    127.0.0.1 peer1.org2.example.com
    
  3. 项目在服务器上运行需要操作,如果是虚拟机则省略这步。
    修改以下两个文件中127.0.0.1 为服务器公网IP:

    datashare/application/server/controller/controller.go
    datashare/application/web/index.html
    
  4. 启动区块链部分

    cd blockchain
    ./start.sh
    
  5. 启动前后端

    cd application/server
    go run main.go
    
  6. 如果是云服务器
    在防火墙放行9090和8080TCP端口

  7. 打开网页
    ip:9090/web

  8. 关闭项目或需要重启项目时清理现有项目:

    cd blockchain
    ./stop.sh
    在application/server运行后端时
    使用键盘指令:ctrl+c
    

tape测压命令:

在blockchain/tape中

./tape --config=config.yaml --number=100

注意:

  1. 如果全部是在虚拟机内操作,不需要修改IP
  2. 提示密钥不对、服务器错误请检查是否修改好hosts(步骤2)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值