Transactions
交易大小有限制嗎?
向乙太坊網路發送交易時,交易數據大小是否存在理論上的限制?
參考。
哇,這是一個非常有趣的問題!TL;DR:在撰寫本文時,交易大小限制約為780kB(約 300 萬天然氣)。但請繼續閱讀。
交易大小和塊大小都**沒有直接或固定的限制。**這是乙太坊網路的優勢,它確實可以擴展。
這並不意味著沒有限制。目前的區塊氣體限制為 3,141,592 氣體,每個區塊最多可以使用。
這意味著,理論上你可以創建一個消耗單個塊的所有氣體的單個事務。
讓我們嘗試用合約發送 256kB 的隨機數據:
這將消耗近 900 萬天然氣,目前尚不可用。Mist 嘗試創建事務,但它是無效的。
讓我們嘗試創建一些接近氣體限制的東西,44,444 個隨機字節:
該交易已完成,這是一個資源管理器連結。雜湊:
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。固定限制(如比特幣):沒有。