Ethereum 地址(0)的实体是什么

Ethereum 地址(0)的实体是什么,ethereum,solidity,ether,Ethereum,Solidity,Ether,有人能向我解释一下地址(0)是什么吗?我在文档中发现了以下内容,但对我来说没有什么意义: 如果目标帐户是零帐户(地址为0的帐户),则事务将创建一个新合同。如前所述,该合同的地址不是零地址,而是从发送方及其发送的交易数量派生的地址(“nonce”)。这种契约创建事务的有效负载被视为EVM字节码并执行。此执行的输出永久存储为合同代码。这意味着,为了创建合同,您不发送合同的实际代码,而是发送返回该代码的代码 在以太坊事务中,零帐户只是一个特例,用于指示正在部署新合同。它字面上被设置为原始事务中的to字

有人能向我解释一下地址(0)是什么吗?我在文档中发现了以下内容,但对我来说没有什么意义:

如果目标帐户是零帐户(地址为0的帐户),则事务将创建一个新合同。如前所述,该合同的地址不是零地址,而是从发送方及其发送的交易数量派生的地址(“nonce”)。这种契约创建事务的有效负载被视为EVM字节码并执行。此执行的输出永久存储为合同代码。这意味着,为了创建合同,您不发送合同的实际代码,而是发送返回该代码的代码


在以太坊事务中,零帐户只是一个特例,用于指示正在部署新合同。它字面上被设置为原始事务中的
to
字段的“0x0”

每个以太坊事务,无论是两个外部帐户之间的转账、执行合同代码的请求,还是部署新合同的请求,都以相同的方式编码。原始事务对象的外观如下所示:

transaction = {
  nonce: '0x0', 
  gasLimit: '0x6acfc0', // 7000000
  gasPrice: '0x4a817c800', // 20000000000
  to: '0x0',
  value: '0x0',
  data: '0xfffff'
};
如果
to
设置为“0x0”以外的值,此请求将导致将以太传输到地址(如果
非零),并执行
数据
字段中编码的函数。请记住,地址可以是合同或外部帐户

to
地址为零地址时,将通过执行
数据中的代码创建新合同(这就是所谓的“返回代码的代码”)。新创建的合同的地址在技术上是预先知道的,因为它基于发送者的地址和当前的nonce。该地址在开采后成为合同的正式地址

要了解以太坊交易的详细信息,请查看以下内容


注意:还有实际的Solidity code语句
address(0)
,它是
address
类型变量的初始值。但是,当交易中的
to
帐户地址设置为“0x0”时,您发布的文档特别指的是。

地址(0)
也是您发送“烧掉”令牌的地址。您可以在openzeppelin中的BurnableToken.sol契约中看到这一点。您认为对
地址(0)
进行任意调用会导致契约部署吗<代码>地址(0)。使用SOLIDATY code语句调用(数据)
地址(0)
是不同的。我还没有试过,但不,我认为这不管用(用这种方式试似乎很奇怪)。如果我想使用字节码在Solidity中部署契约,我会使用assembly。