Dapps

使用乙太坊進行數據驗證

  • December 27, 2020

我對不列顛哥倫比亞省,特別是乙太坊世界還很陌生,我才剛剛開始接觸這項強大技術的潛在應用。

當我即將建構我的第一個項目時,我想創建一個簡單的 dApp 來驗證 Web 平台數據庫上的數據。基本上這個 dApp 有兩個功能:

  • 第一個在 BC 上發布數據的 SHA-256 雜湊;
  • 第二個檢索儲存在 BC 上的特定散列,並根據儲存在 db 中的散列對其進行驗證,以檢查它是否已被更改。

顯然,散列的數量將從 1 開始,隨著新數據輸入數據庫而隨著時間的推移不斷擴展。實現我的目標的最佳方式是什麼?分佈式雜湊表是否合適?最後,這個解決方案的交易成本是多少?

提前感謝您幫助我。期待您的建議。

您可以在區塊鏈上創建一個智能合約,用於跟踪雜湊。與在乙太坊上儲存數據相比,儲存雜湊值便宜。

交易成本可以使用以下公式計算:

Cost = Gas Cost * Estimated Gas Required

您可以使用 web3j 函式來計算執行交易所需的氣體成本和估計氣體。以下功能可能有用:

web3.eth.estimateGas(callObject [, callback])
web3.eth.getGasPrice([callback])

儲存 32 字節散列需要大約 25000 氣體,大約是$0.1545

關於 DHT 與區塊鏈,這將取決於您計劃如何設計系統,因為 DHT 有利於查找並為您提供鍵值映射,而區塊鍊為您提供防篡改數據。DHT 是去中心化的,但與區塊鏈不同,並非每個節點都會保留數據。

如果您決定使用乙太坊智能合約,您將創建大致如下所示的內容:

mapping (uint => string) hashes;

function storeHash(ID, hash) onlyOwner {
 hashes[ID] = hash;
}

function retreiveHash(ID){
 return hashes[ID];
}

這是一個很好的初學者教程,類似於您的案例

引用自:https://ethereum.stackexchange.com/questions/84552