基于区块链与IPFS的数据共享系统搭建步骤
购买专栏前请认真阅读:《基于区块链与IPFS的数据共享系统》专栏简介
视频演示:
https://www.bilibili.com/video/BV1y24y1v7RX
系统简介:
本系统使用RSA算法生成密钥对, RSA私钥用于用户身份认证;用户发送的数据将存储于IPFS, IPFS返回的CID(IPFS Hash)使用用户的RSA公钥加密后存储于区块链; 区块链部分使用Hyperledger Fabric,并用Hyperledger Explorer追踪交易
包含功能
- 基于Fabric v1.4.4 first-network,四个peer一个orderer节点,使用docker部署
- IPFS使用的是ipfs/kubo镜像,负责用户数据文件的存储,IPFS返回的CID存储于Fabric
- 项目包含了Hyperledger Explorer(区块链浏览器),默认跟随脚本启动
- 项目包含了tape对链码压测
- 使用RSA公私钥鉴别用户身份(1024位)
- 链码对传输记录进行存储,包含:发送者公钥、接收者公钥、文件在IPFS的加密CID(由发送者或接收者的公钥加密)、文件名、时间戳、Fabric交易id
- 后端使用gin框架实现,前端使用Vue和Element ui实现
使用go fabric sdk调用智能合约;使用go-ipfs-api上传与下载用户文件;使用uuid对用户的文件名(下载时)进行加密
安装步骤(默认是在本地虚拟机)
安装ubuntu 20.04(或其他Linux发行版),docker,docker-compose,go1.19
docker,docker-compose,go1.19安装方法请参考此文章:https://blog.csdn.net/qq_41575489/article/details/129129086向/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
项目在服务器上运行需要操作,如果是虚拟机则省略这步。
修改以下两个文件中127.0.0.1 为服务器公网IP:datashare/application/server/controller/controller.go datashare/application/web/index.html
启动区块链部分
cd blockchain ./start.sh
启动前后端
cd application/server go run main.go
如果是云服务器
在防火墙放行9090和8080TCP端口打开网页
ip:9090/web
tape测压命令:
在blockchain/tape中
./tape --config=config.yaml --number=100
注意:
- 如果全部是在虚拟机内操作,不需要修改IP
- 提示密钥不对、服务器错误请检查是否修改好hosts(步骤2)
基于区块链与IPFS的数据共享系统搭建步骤相关推荐
- 《基于区块链与IPFS的数据共享系统》专栏简介
本专栏包含了"基于区块链与IPFS的数据共享系统"的全部源码与从0开始的搭建视频(订阅专栏后请站内私信).搭建教程与系统设计分析.对专栏内文章有疑问可以评论,一般一天内回复. 演示 ...
- 目前基于区块链的档案防篡改系统的设计如何实现防篡改
架构设计图 分析 为了保障档案数据的安全性和隐私性,存储档案附件和档案属性存储加密存储在私有IPFS集群,档案的IPFS地址和数字指纹存储在私有区块链上.公有区块链定期存储和检查私有区块链最新不可逆区 ...
- 【案例】中国银联、光大银行基于区块链的可信电子凭证系统
近年来,包括银行.证券.保险等在内的众多金融行业成为区块链发展和研究的重要倡导者和参与者,这使得区块链技术在交易结算.贸易金融.股权.票据.金融衍生品.信贷.反洗钱/反诈骗.供应链金融等多个领域的应用 ...
- 基于区块链构建的农产品溯源系统开发
在农业产业中,产品的存储与管理一直是重中之重,而区块链能够创新地解决这些问题. 基于区块链构建的农产品溯源系统,将农产品从采购原材料.种植.加工.物流运输.零售商到消费者餐桌的整个流程中产生的相关信息 ...
- 中国央行已初步完成基于区块链技术的数字化票据系统(GBCAX)
gbcax链交所 中国央行已初步完成基于区块链技术的数字化票据系统 中国央行近日披露了一套以区块链为基础的票据数字化系统,该系统旨在打击金融欺诈,并减少打印发票的费用.
- 《基于区块链与IPFS的视频版权存证系统》专栏简介
更新中,预计7月25日前更新完毕 本专栏包含了"基于区块链(Hyperledger Fabric)与IPFS的视频版权存证系统"的全部源码与从0开始的搭建视频(订阅专栏后请站内私信 ...
- 基于区块链的隐私保护数据共享
摘要: 区块链是近年来出现了一项分布式共识技术,基于区块链共识协议结合智能合约技术可实现去中心化的数据共享.隐私保护是数据共享中的关键特性,原生区块链没有解决隐私保护问 题.利用数字摘要匹配算法提出了 ...
- 区块链系统之《基于区块链的PKI数字证书系统》
摘要 本文提出了一种基于区块链技术构建PKI数字证书系统的方法,利用区块链去中心化.不可篡改等特点,解决了传统PKI技术中存在的单点失败问题以及多CA互信难等问题,可降低传统PKI技术中CA中心建设. ...
- 阿里云基于区块链服务构建企业业务系统实践总结
笔者注:本文是在2018年8月19日由InfoQ主办的BCCon全球区块链生态技术大会的演讲内容基础上整理而成,从技术上对阿里云区块链服务解决企业落地问题的思路以及设计理念进行了解读. 大家好!很高兴 ...
最新文章
- linux - word frequency
- java版spring cloud+spring boot+redis多租户社交电子商务平台(三)SpringBoot用JdbcTemplates访问Mysql...
- 从源码开始编译一个带有WEB服务器功能的小型LINUX(下)
- 090609 T 领域建模
- 帕累托最优生活例子_创业者:用博弈解决生活的难题
- 数仓业务容错利器:物理细粒度备份恢复技术
- python环境的打包与加载
- 五年前,跳槽涨薪,你笑了,五年后,跳槽降薪,请接受
- 手机中必备的黑科技App,个个好用至极,现在的你一定需要
- 无语!JDK 8 中的 HashMap 依然会死循环…
- Nginx二级目录反向代理网站
- 在maya中安装numpy
- Manjaro安装Nvidia显卡驱动失败或者启动黑屏卡死的原因以及Nvidia Prime与Intel核显切换方法
- java实现高清图片剪切
- iGoogle创新设计大赛
- mac简体拼音打出来是英文_Mac OS X自带中文拼音输入法详解
- IDEA2017配置springmvc遇到的错误
- 企业信息与网络通信安全 团队成员简历-叶俊 (转)
- mysqldb python linux,Linux下安装 MySQLdb模块
- 51单片机基础——数码管数组动态显示0—F
热门文章
- Python——内置的IDLE开发环境
- 用计算机画画的优质课,小学信息技术优质课和画图工具教案.doc
- 获取沪深300成分股单日收盘价
- Python图像锐化及边缘检测(Roberts、Prewitt、Sobel、Lapllacian、Canny、LOG)
- SQL存储过程与函数
- [2023-01 持续更新] 谷歌学术google镜像/Sci-Hub可用网址/Github镜像可用网址总结
- 在 LaTeX 中创建文档
- 摩斯电码php源码,利用PHP怎么编写一个摩斯电码生成器
- 外企人常使用的工作邮箱,建议收藏!
- 【2018虚拟现实设备VR眼镜排行榜】VR眼镜哪个好?9款市面上值得推荐的VR眼镜