阅读(4228) (13)

以太坊 交易

2022-05-09 14:50:48 更新

交易是从一个帐户发送到另一个帐户的消息(可能相同或为空,见下文)。它可以包括二进制数据(称为“有效负载”)和以太币。

如果目标帐户包含代码,则执行该代码并将有效负载作为输入数据提供。

如果没有设置目标账户(交易没有收款人或收款人设置为​null​),则交易创建一个新合约。如前所述,该合约的地址不是零地址,而是从发送者及其发送的交易数量(“nonce”)派生的地址。这种合约创建交易的有效负载被视为 EVM 字节码并被执行。此执行的输出数据作为合约代码永久存储。这意味着,为了创建合约,您无需发送合约的实际代码,而是发送实际执行时返回该代码的代码。

笔记
在创建合约时,其代码仍然是空的。因此,在构造函数完成执行之前,您不应该回调正在构建的合约。