Storage

我應該使用智能合約來儲存大量數據和實時更新嗎?

  • December 26, 2017

場景: 假設我在乙太坊上有 DApp,它有兩方或兩種類型的使用者,使用者 A 將更新他的狀態(正常執行時間或儲存或 IP 地址……等)。使用者 B 將能夠瀏覽所有這些使用者 (A) 及其狀態的市場。

  1. 每小時會有成千上萬的使用者和成千上萬的更新,因此設置這些值的值和儲存使用會花費大量的gas,如何解決這個問題?我應該在這裡使用我可以控制的集中式數據庫嗎?還是我應該使用將寫入外部數據庫的智能合約?這個問題的最佳做法是什麼?
  2. 如果我關心狀態更新的速度,那麼使用智能合約不是一個好的解決方案,因為狀態的每次更新都意味著觸發交易,所以它需要挖礦,這取決於你支付多少費用……我說得對嗎?

如果您最終需要在智能合約中儲存大量數據,則意味著您不了解它的用途。

將數據儲存在智能合約中的 gas 非常昂貴,因為你會“大量”更改 EVM 狀態。

如果您確實需要儲存數據,請在數據庫中進行,或者您可以使用分散儲存(例如 IFPS,Swarm)。

注意:如果我理解得很好,您正在嘗試建立一個市場。在區塊鏈上做這件事有什麼意義?在您的情況下,只有交易應該儲存在區塊鏈上。因此,區塊鏈應該只作為你產品的“工具”,而不是作為你的核心技術。(在我看來)

編輯; 回答您的問題:

  • 1:是的,大量的 tx 將花費你大量的氣體,所以要消耗大量的乙太幣。您可以使用私有鍊或(如上所述)重新考慮您的產品使用區塊鏈的目的。
  • 2:是的,區塊鏈很慢。大約需要 13 到 17 秒來探勘一個區塊(或者 2/3 秒來獲取一個新的私有/許可鏈)。所以圍繞這個時間來處理一筆交易(如果你有“正常”的汽油價格)。你想得到更快的處理?多付錢!

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