以太坊DApp如何用IPFS儲存並呼叫資料

馬拉喀什發表於2018-07-11

正在構建的一個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應用開發,適合入門。


相關文章