繁体   English   中英

以太坊智能合约的平均大小是多少?

[英]What's the average size of a smart contract on Ethereum?

以太坊智能合约的平均大小是多少? 我已经在谷歌、推特、reddit、duckduckgo上搜索过了,但一切都是徒劳的

根据EIP-170 ,网络允许的最大大小为 24576(十六进制 0x6000)字节。 使用最新编译器版本编译的空合约会产生 92 个字节。 所以平均值介于这些数字之间。

如何计算平均合约规模:

  1. 遍历所有现有块,获取它们的交易哈希
  2. 遍历所有交易哈希并查询相应的交易收据(文档
  3. 您只对那些包含非空contractAddress字段的交易感兴趣,这意味着这些交易是合同部署
  4. 每个contractAddress字段都指向一个合约地址
  5. 查询每个地址的eth_getCode方法 ( docs ),该方法返回合约二进制文件。 将二进制长度添加到您的计算中,最后除以结果数。

请注意,某些合约可能是自毁的,因此即使之前已部署它们,它们也会返回 0 大小。 根据您的方法,您可能希望也可能不希望在计算中包含自毁合约,或者可能在创建它们的块时查询它们的(非零)大小。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM