在支持智能合约的公链如以太坊上,账户有两种类型。第一种是我们大部分人使用的外部账户,由公钥和私钥构成,可以通过以太坊钱包等工具生成。第二种是合约账户,由一个地址和对应的存储代码构成。例如,在以太坊上发行ERC20代币就需要创建一个合约账户,其对应的地址就是合约地址,没有私钥。