繁体   English   中英

在安全帽上部署合同或创建 NFT 时出现错误:ProviderError: invalid sender

[英]On hardhat when deploying a contract or minting an NFT getting error: ProviderError: invalid sender

我正在使用 HardHat 在 Polygon (Matic) 上部署合约,它在部署或铸造时大部分时间都可以工作......但是当我从测试网切换到主网时它通常会中断。

例如:我从主网切换到 rpc-mumbai.maticvigil.com,然后我收到错误 ProviderError: invalid sender。

然后我更新了我的 hardhat.config.js 以指向 matic-mumbai.chainstacklabs.com,我能够创建和部署合约而没有错误。

我正在联系,看看这是否是多边形和/或安全帽发生的已知问题?

将此添加到您的 hardhat.config.js,在帐户之后:

 gasPrice: 8000000000, // default is 'auto' which breaks chains without the london hardfork

完整条目:

  matic: {
      url: "https://matic-mumbai.chainstacklabs.com",
      accounts: [PRIVATE_KEY],
      gasPrice: 8000000000, // default is 'auto' which breaks chains without the london hardfork
    }

参考: https : //github.com/nomiclabs/hardhat/issues/1828

确认“The Vikk”的解决方案有效。 在私钥之前还添加了帐户详细信息和 0x。

 mumbai: {
  url: "https://polygon-mumbai.g.alchemy.com/v2/<API_KEY>",
  accounts: [`0x${PRIVATE_KEY}`]
  }

我发现了“无效发件人”的问题。 这对我来说是钱包地址没有发送任何交易,只有来自测试网水龙头的存款。 无论出于何种原因,当我通过 Metamask 手动发送交易然后将其发送回来然后尝试再次发出安全帽运行命令时,它使该错误消失。

然而,从我现在看到的情况来看,事务仍然没有任何错误地挂起,并且 --verbose 没有提供任何有用的信息。 这似乎是与伦敦硬分叉有关的某种冲突。 我还没有解决这个问题。 如果我有更多信息,稍后将向您报告。

到目前为止我做了什么:

  1. 尝试将gasPrice和/或gas添加到 hardhat.config.jsnetworks.matic 对象
  2. 试图将0x放在 privateKey 前面
  3. 尝试将chainId:80001添加到 hardhat.config.jsnetworks.matic 对象
  4. 尝试将 gasPrice 提高到 500 gwei 以上
  5. 尝试了 3 个不同的 RPC 端点,包括一个需要 API 密钥的私有端点

Hardhat github 更新到2.6.2,也没有解决问题。

同样的问题在这里。 我尝试了从 Vanity ETH 生成的私钥以及来自我的 MetaMask 钱包的私钥。 还尝试添加0x前缀和带 / 不带 gasPrice 但得到相同的错误。

这是我的配置:

module.exports = {
  solidity: "0.8.2",
  networks: {
    mumbai: {
      url: "https://rpc-mumbai.maticvigil.com/",
      account: [process.env.PRIVATE_KEY],
      gasPrice: 8000000000,
    }
  }
};

任何人都有运气解决这个问题?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM