因此,根据我的理解,在创建契约时,用于确定契约地址的两个变量是msg.sender和nonce值。所以,如果我在同一个事务中创建了两个契约,就像我对这个代码https://ropsten.etherscan.io/address/0xcb7d7e99e56406a675173f0ddbde7d8cc3392e5e#code所做的那样
为什么它会在两个不同的地址产生两个契约,我想会发生的是,它们会在同一个地址生成,而其中一个会简单地覆盖另一个地址或类似的东西。
发布于 2018-05-23 22:45:04
您正在理解由消息创建者的地址确定的契约地址,而现在的地址是正确的。但是,在您发布的示例中,msg.sender是Test契约的地址。
以下是发生的步骤:
Test )部署0x98081ce968e5643c15de9c024de96b18be8e5ace。根据交易信息,当时该账户的现号为639。Test合同的地址为0xcb7d7e99e56406a675173f0ddbde7d8cc3392e5e。Test期间,构造函数然后通过“内部事务”创建两个新的契约。Divert是从0xcb7d7e99e56406a675173f0ddbde7d8cc3392e5e的契约地址与nonce=1一起部署的。OverRide是从与nonce=2相同的地址部署的。您可以查看内部事务这里的详细信息。
https://stackoverflow.com/questions/50498385
复制相似问题