题目
产品需要在合约部署前就向用户展示将要交互的地址,团队在讨论用 CREATE 还是 CREATE2 部署。请说明两种方式的地址计算差异,以及前端使用「预期地址」时要注意什么。
考察目标
- 两种部署方式下地址的计算依据。
- 确定性地址的价值与前提。
- 多链同地址的核验边界。
说明两种部署方式下合约地址的计算依据、确定性部署的价值,以及前端使用预期地址时的注意点。
产品需要在合约部署前就向用户展示将要交互的地址,团队在讨论用 CREATE 还是 CREATE2 部署。请说明两种方式的地址计算差异,以及前端使用「预期地址」时要注意什么。
CREATE 的地址与部署者地址和部署者的创建计数相关,同一个部署者每次部署得到的地址不同;CREATE2 的地址由部署者地址、盐值与初始化代码的哈希按固定公式算出,可以在部署前确定。合约地址的生成与外部拥有账户的地址推导是两套机制。实现差异与工程取舍见深入回答。
发现这道题有问题? 反馈此题