因为像以太坊这种支持智能合约的公链上的账户有两种:一种是我们大部分人使用以太坊钱包生成的外部账户,由公钥和私钥组成;一种是合约账户,是由一个地址和对应存储的代码组成的。比如在以太坊上发ERC20的币就是创建了一个合约账户。这种生成的地址就是合约地址,是没有私钥的。