以太坊合約交易大小的上限是多少?

在以太坊上發送的交易,最多能包含多少字節的數據?有沒有上限?學習

理論上在以太坊中,對交易大小或者塊大小都沒有直接或固定的上限,這也是 以太坊的一個優點。.net

不過這並不意味着交易能攜帶數據量大小沒有上限,由於一個塊能夠使用的 gas是有上限的。 在寫這篇文章時,ethstats顯示 這個值是7,984,452,大約700萬。3d

所以,理論上咱們能夠建立一個交易,讓它消耗掉一個塊能用的所有gas,這就 決定了一個交易理論上能夠包含的最多數據。教程

決定數據大小的另外一個因素是數據內容,由於不一樣的數據消耗的gas也不一樣:開發

  • 0字節消耗4個gas
  • 非0的字節消耗68個gas
  • 每一個交易要支付的21000個gas

利用塊的gas上限,並結合你的數據內容,就能夠計算出一個交易能發送的數據大小了。get

能夠試着用mist發送256kb的隨機數據:io

以太坊合約交易大小上限

這大約會消耗900萬gas,mist會嘗試建立交易,但不會成功。入門

讓咱們試着接近塊gas上限,此次使用44,444個隨機字節:電商

以太坊合約交易大小上限

這個交易能夠成功,你能夠點這裏查看交易數據。隨機數

  • Value: 60 Finney (0.06 Ether)
  • Gas: 3131800
  • Gas Price: 50 Gwei (0.00000005 Ether)
  • Gas Used By Transaction: 3031800
  • Actual Transaction Cost: 151.59 Finney (0.15159 Ether)
  • Cumulative Gas Used: 3031800

你看,咱們成功地在塊967163上寫入了44k字節的數據。

接下來,以太坊的可擴展性開始展現它的力量了。

若是你但願立刻開始學習以太坊DApp開發,能夠訪問匯智網提供的出色的在線互動教程:

相關文章
相關標籤/搜索