使用Truffle部署ERC20到Goerli测试网遇“already known”错误求助
问题描述
使用Truffle将ERC20合约部署至Goerli测试网时,触发以下错误:
Error: *** Deployment Failed *** "ERC201" -- already known.
操作流程:
- 执行命令
truffle migrate --network goerli启动迁移 - 因等待过久,用
control + C终止迁移 - 再次执行上述命令时出现该错误
注:Truffle配置无误,寻求解决办法。
解决方案
这个错误是中途终止迁移后,Truffle本地迁移记录和链上状态不一致导致的,按以下步骤处理:
清理本地编译与迁移记录
删除项目根目录下的build/contracts文件夹,该文件夹存储了合约编译信息和本地迁移状态,删除后重新编译合约:rm -rf build/contracts truffle compile强制重置迁移
直接使用--reset参数执行迁移,强制跳过本地已记录的迁移步骤,重新部署所有合约:truffle migrate --network goerli --reset手动修正迁移记录(若前两步无效)
打开项目.openzeppelin目录下的对应网络配置文件(比如goerli.json),找到ERC201合约的部署记录条目并删除,之后再重新执行迁移命令。
内容的提问来源于stack exchange,提问作者dung ta van
相关产品推荐
相关产品推荐

