24.以太坊的账户(外部账户和合约账户)

以太坊是有账户的,每个用户都可以开设账户,账户余额是我们拥有的以太币或其他基于 ERC20 标准的通证。账户的设计使得以太坊与比特币不同,根据之前的讨论我们知道,比特币只有钱包地址和未使用的交易输出。

以太坊的两种账户:外部账户和合约账户

以太坊有两种账户,如下图所示:

  • 外部账户(externally owned accounts),由密钥控制。
  • 合约账户(contract accounts),由智能合约的代码控制。


图1:以太坊的两种账户


以太坊的账户包括四个字段:一个随机数、账户的余额、合约代码(如果有的话)、存储(通常为空)。

只有合约账户才有代码,其中存储的是 codeHash(这个账户的以太坊虚拟机代码的哈希值)。这个字段在生成后是不可修改的,这意味着智能合约代码是不可修改的。

外部账户可以触发交易,而合约账户不能主动发起交易,只能在被触发后按预先编写的

猜你喜欢

转载自blog.csdn.net/ddl2143/article/details/123393311