我阅读了来自白花黄纸的合同创建部分,并看到了以下声明:
对于正常的停止代码,或者如果返回的代码是空的,则状态将留给一个僵尸帐户,任何剩余的余额都将永远锁定在帐户中。
有人能帮我理解一个账户是如何变成僵尸账户的吗?
发布于 2017-09-15 09:15:25
从黄纸,
o,从初始化代码的执行得到的字节序列,指定新创建的帐户的最终正文代码。
如果初始化函数不返回主体代码,即契约代码,则契约存在,但是没有代码,它就是僵尸。因为没有代码,所以不能用它来做任何事情。
在“宅地”之前,如果没有足够的天然气支付c,就会在新合同的地址创建一个帐户,以及所有初始化的副作用,并转移价值,但没有部署合同代码。
在Homestead之前,如果由于没有足够的gas而停止执行,则创建契约,但是由于它没有完成执行,因此没有相关的代码,因此无法与契约交互。
在执行过程中,由异常引发的停止代码也可能发生这种情况。
https://ethereum.stackexchange.com/questions/26479
复制相似问题