我有一份工厂合同,用孩子的合同来完成对埃瑟诺的挑战。我想检索其中一个子契约的部署字节码,但是我很难找到它。
我在Etherscan上查找了子协议地址,但它只显示运行时字节码。我还尝试使用getCode函数在Web3中检索字节码,但这也会返回运行时字节码。
是否有任何方法检索从工厂创建的契约的部署字节码?或者一旦部署契约,部署字节码是否丢失?
发布于 2023-02-26 07:35:29
Afaiak部署字节码不会存储在块链上,因为只有在部署时才会复制运行时代码。
我不是100%确定,但是由于工厂契约正在复制实现的运行时代码,我猜想在本例中的部署代码是运行时代码本身。
如果我在工作,请指正我的意见!
发布于 2023-03-13 20:19:43
如果您能够获得创建子契约的事务的全部跟踪,则应该是to地址为零地址或null的帧中的数据。
还有一个名为getTransactionByHash的特定JSON调用
或者,您可以部署一个获取type(TARGET_CONTRACT).creationCode并返回它的契约。
这帮助我找到了其中的一些方法。
https://ethereum.stackexchange.com/questions/145471
复制相似问题