Contract-Deployment

主網上怎麼會有超出合約大小限制的合約?

  • July 7, 2022

據我所知,主網的合約大小限制為 24577 字節。但我可以看到具有更大已部署字節碼的合約,例如https://etherscan.io/address/0x23581767a106ae21c074b2276d25e5c3e136a68b#code

部署的字節碼為 44832 字節。這怎麼可能?

  1. 您正在計算十六進制數字,而不是字節。所以它是 44832 ÷ 2 = 22416 字節,在限制範圍內。
  2. 比 22416 還要低,因為 22416 是合約創建程式碼,包含建構子程式碼 + 建構子參數。看看這個其他問題。需要在限制範圍內的是已部署的字節碼。

一切@dawrdu 說,這是:

在 EIP-607 中描述的硬分叉 4 之前不存在合約大小限制,其中包括 EIP-170,即合約大小限制。因此,在此之前部署的合約受到區塊 gasLimit 的限制,而不是明確的上限。

https://github.com/ethereum/EIPs/blob/master/EIPS/eip-607.md

希望能幫助到你。

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