Polygon Mumbai测试网部署ERC721提示资金不足如何配置truffle参数?
问题原因排查
- 助记词对应账户不匹配:Truffle的HDWalletProvider默认读取助记词生成的首个链上地址,你报错提示的地址为
0x12aADAdd301d22c941DACF2cfa7A9e2019972F61,先核对该地址是否是你MetaMask中持有测试Matic的地址:如果不一致,要么给该报错地址转入测试Matic,要么在初始化HDWalletProvider时指定账户索引,例如new HDWalletProvider(process.env.MNEMONIC, RPC地址, 1),末尾的数字为账户索引(从0开始计数),对应你MetaMask中持有资金的账户顺序。 - RPC地址异常:你当前配置的RPC地址末尾存在多余换行符,会导致节点请求异常,无法正确读取账户余额,先删掉换行符保证RPC地址是连续字符串。
- 缺少gas相关配置:你当前的matic网络配置没有指定gas和gasPrice参数,Truffle自动估算的参数不符合Polygon Mumbai测试网要求时也会触发资金不足报错。
修正后的truffle-config配置示例
module.exports = { networks: { development: { host: "127.0.0.1", port: 8545, network_id: "*", }, matic: { provider: () => new HDWalletProvider(process.env.MNEMONIC, `https://rpc-mumbai.maticvigil.com/v1/91fdbb5c2f37c699621ss7d2b8b127fc1a123060`), network_id: 80001, gas: 8000000, // ERC721部署预留800万gas即可覆盖成本 gasPrice: 1000000000, // 设为1gwei,符合Mumbai测试网当前的常规gas价格 confirmations: 2, timeoutBlocks: 200, skipDryRun: true // 如果你要指定部署地址,可以加一行from: "你的持币地址" }, }, mocha: { // timeout: 100000 }, }
如果调整后仍有报错,可以优先更换公共RPC节点重试,避免节点数据同步问题导致余额读取错误。
内容的提问来源于stack exchange,提问作者Avinash Toppo
相关产品推荐
相关产品推荐

