在以太坊生态系统中,我们通常接触到的有两种主要账号类型:外部拥有账号(Externally Owned Accounts, EOAs)和合约账号(Contract Accounts),EOAs由用户通过私钥控制,如我们的MetaMask钱包;而合约账号则由部署到以太坊网络上的智能代码控制,它们没有私钥,其行为完全由接收到的交易触发,理解合约账号的转账机制,对于开发DApp、进行DeFi交互或深入理解以太坊运作至关重要。

合约账号与EOA账号的核心区别

我们简要回顾一下两者的区别:

  • 外部拥有账号 (EOA)
    • 由私钥控制。
    • 可以主动发起交易(如转账、调用合约)。
    • 账户状态由余额、nonce等组成。
    • 类似于传统银行账户,我们可以主动操作它。随机配图