以太坊智能合约交易最多包含多少数据?

在以太坊上发送的交易,最多能包含多少字节的数据?有没有上限?区块链

理论上在以太坊中,对交易大小或者块大小都没有直接或固定的上限,这也是 以太坊的一个优点。.net

不过这并不意味着交易能携带数据量大小没有上限,由于一个块能够使用的 gas是有上限的。 在写这篇文章时,ethstats显示 这个值是7,984,452,大约700万。3d

所以,理论上咱们能够建立一个交易,让它消耗掉一个块能用的所有gas,这就 决定了一个交易理论上能够包含的最多数据。blog

决定数据大小的另外一个因素是数据内容,由于不一样的数据消耗的gas也不一样:教程

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

利用块的gas上限,并结合你的数据内容,就能够计算出一个交易能发送的数据大小了。开发

能够试着用mist发送256kb的随机数据:get

以太坊合约交易大小上限

这大约会消耗900万gas,mist会尝试建立交易,但不会成功。博客

让咱们试着接近块gas上限,此次使用44,444个随机字节:io

以太坊合约交易大小上限

这个交易能够成功,你能够点这里查看交易数据。入门

  • 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字节的数据。

接下来,以太坊的可扩展性开始展现它的力量了。

推荐两个以太坊相关的实战教程:

更多的内容能够访问博客:

http://blog.hubwiz.com/2018/04/23/ethereum-transaction-size/

相关文章
相关标签/搜索