以太坊DApp如何用IPFS存储并调用数据

简介: 正在构建的一个Dapp。Dapp包括一些用户数据,如电子邮件、姓名和个人图片等。我想将用户数据内容存储在IPFS中,通过一个JSON对象,并用IPFS hash处理过。

正在构建的一个Dapp。Dapp包括一些用户数据,如电子邮件、姓名和个人图片等。我想将用户数据内容存储在IPFS中,通过一个JSON对象,并用IPFS hash处理过。我怎样才能把这个数据和一个特定的用户联系起来呢?也就是说在与DAPP的交互时将用户与IPF中存储的数据关联起来。要使用用户密码和某种类型的密码来完成的吗?

例如,用户A对使用dapp感兴趣,然后提供了他或她的电子邮件、姓名和一些个人图片。在与DApp的任何后续交互(如评论或帖子)都会将该用户和IPFS中相应的用户数据相关联。不知道该怎么做。

dapp和ipfs数据关联说明

使用像以太坊这种区块链平台的一个优势是可以构建一个零点击登录。如果我们用web3.eth.accounts[0]确认下就可以证明用户控制该帐户的地址的私钥是否有效。

如果想就像数据库一样使用IPFS,建议的方法是:

请注意,在大多数去中心化的系统中,客户端会发生很多动作。

用户注册

  • 用户有以太坊账户。
  • 注册用户数据被收集到JSON对象中
  • 创建一个文件,将JSON对象写入文件
  • 传递文件到IPFS
  • 获取文件哈希值(基本上是它的IPFS的地址)
  • 将IPFS的hash值存储在一个以太坊智能合约中,它将用户的以太坊帐户与IPFS文件哈希值关联起来。

用户验证

  • 用户访问网站
  • web3js得到用户的有效帐户
  • 从用户的智能合约中读取,查找相关的IPFS哈希值
  • 从IPFS获取文件
  • 读取JSON对象
  • 从JSON中提取数据
  • 向用户显示数据

原文:http://cw.hubwiz.com/card/c/ethereum-FAQ/1/1/4/

另外推荐一些之前的教程:

  • python以太坊,主要是针对python围绕web3.py进行区块链以太坊应用开发的讲解。
  • web3j,主要是针对java和android程序员围绕web3j库进行区块链以太坊开发的讲解。
  • php以太坊,主要是介绍使用php进行智能合约开发交互,进行账号创建、交易、转账、代币开发以及过滤器和事件等内容。
  • 以太坊开发,主要是介绍使用node.js、mongodb、区块链、ipfs实现去中心化电商DApp实战,适合进阶。
  • 以太坊教程,主要介绍智能合约与dapp应用开发,适合入门。
相关文章
|
1月前
|
存储 区块链
Swap/dapp去中心化交易所系统开发技术逻辑及源码示例
Swap/DApp去中心化交易所系统开发涉及复杂的去中心化交易模型、智能合约和流动性池技术。智能合约用于资产交换、流动性管理等功能,确保交易的安全性和透明度。以下是一个简化的Swap智能合约源码示例,展示了基本的代币交换功能。
|
算法 安全 区块链
区块哈希游戏开发逻辑(上链合约)哈希竞猜游戏开发方案(app/DAPP)
区块哈希游戏开发逻辑(上链合约)哈希竞猜游戏开发方案(app/DAPP)
|
存储 安全 架构师
区块链101:Ethereum如何扩展
区块链101:Ethereum如何扩展
|
JavaScript 前端开发 IDE
合约链上DAPP模式系统开发技术原理(成熟分析)智能合约伪DAPP的开发技术逻辑是怎样
合约链上DAPP模式系统开发技术原理(成熟分析)智能合约伪DAPP的开发技术逻辑是怎样
117 0
|
JSON Ubuntu 区块链
区块链开发(一)搭建基于以太坊go-ethereum的私有链环境
区块链开发(一)搭建基于以太坊go-ethereum的私有链环境
513 0
区块链开发(一)搭建基于以太坊go-ethereum的私有链环境
|
区块链 C++
BC之SC:区块链之智能合约——与传统合约的比较以及智能合约模型部署原理、运行原理相关配图(一)
BC之SC:区块链之智能合约——与传统合约的比较以及智能合约模型部署原理、运行原理相关配图
BC之SC:区块链之智能合约——与传统合约的比较以及智能合约模型部署原理、运行原理相关配图(一)
BC之SC:区块链之智能合约——与传统合约的比较以及智能合约模型部署原理、运行原理相关配图(二)
BC之SC:区块链之智能合约——与传统合约的比较以及智能合约模型部署原理、运行原理相关配图
BC之SC:区块链之智能合约——与传统合约的比较以及智能合约模型部署原理、运行原理相关配图(二)
|
Rust JavaScript 前端开发
区块链开发(八)以太坊不同语言客户端地址
区块链开发(八)以太坊不同语言客户端地址
141 0
|
区块链 算法 开发者
带你读《深入理解以太坊》之一:以太坊概述
这是一本从原理和实践两个层面系统、深入讲解以太坊技术的专著,从设计理念、技术架构、共识算法、智能合约、以太坊虚拟机、开发工具、DApp开发、企业以太坊解决方案、跨链技术等近10个方面进行了详细讲解,既适合初学者系统学习以太坊的原理和应用开发,又适合有一定基础的开发者深入掌握以太坊的底层运行机制。
|
区块链
以太坊·将自定义数据写入到区块链中
本文讲述如何将数据保存到区块链中。
6511 0