Transactions

交易大小有限制嗎?

  • August 12, 2017

向乙太坊網路發送交易時,交易數據大小是否存在理論上的限制?

參考。

合約可以儲存的數據量是否有(理論上的)限制?

哇,這是一個非常有趣的問題!TL;DR:在撰寫本文時,交易大小限制約為780kB(約 300 萬天然氣)。但請繼續閱讀。


交易大小和塊大小都**沒有直接或固定的限制。**這是乙太坊網路的優勢,它確實可以擴展。

這並不意味著沒有限制。目前的區塊氣體限制為 3,141,592 氣體,每個區塊最多可以使用。

這意味著,理論上你可以創建一個消耗單個塊的所有氣體的單個事務。

讓我們嘗試用合約發送 256kB 的隨機數據:

帶有 256kb 隨機數據的 trx

這將消耗近 900 萬天然氣,目前尚不可用。Mist 嘗試創建事務,但它是無效的。

讓我們嘗試創建一些接近氣體限制的東西,44,444 個隨機字節

44k 隨機字節

該交易已完成,這是一個資源管理器連結。雜湊:

I0207 11:47:14.558908 eth/api.go:946] Tx(0x25e54394ab4e5f17d6e1240c02c1a6c4bb675ef9471f1105b006988f5fe5aec1) to: 0xfcae7970392f510a985a7eaccd3820b7759d65d9
  • 價值:60 芬尼(0.06 乙太幣)
  • 燃氣:3131800
  • 天然氣價格:50 Gwei(0.00000005 乙太幣)
  • 交易使用的氣體:3031800
  • 實際交易成本:151.59 Finney (0.15159 Ether)
  • 累計使用氣體:3031800

所以,我剛剛在區塊 967163 中向區塊鏈添加了44kB

現在乙太坊的擴容魔力開始發揮作用。在區塊967164中,網路對高gas消耗做出反應,並將區塊gas限制增加到3,142,967

氣體限制增加

因此,如果有持續的高gas消耗請求,可以將gas限制增加加/減1/1024,大約為0.09%. 見黃皮書方程 40-42

簡而言之,限制:是的,在寫一個滿是零字節的 tx 大約 780kB,或者​​一個滿是非零字節的 tx 大約 46kB。固定限制(如比特幣):沒有。

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