0

使用 traffle 部署合约时,会出现以下错误:

"Migrations" -- Unable to decode sender address from transaction: 
Incompatible EIP155-based V 38 and chain id 3. 
See the Common parameter of the Transaction constructor to set the chain id....

truffle-config.js喜欢这样:

 networks: {
development: {
  host: "127.0.0.1",     // Localhost (default: none)
  port: 9545,            // Standard Ethereum port (default: none)
  //gas: 8e6,
  //gasPrice: 20,
  network_id: "5777",       // Any network (default: none)
},

ropsten: {
  provider: () => new HDWalletProvider({
    privateKeys: [testnetPrivateKey],
    providerOrUrl: `https://eth-ropsten.alchemyapi.io/v2/${ropstenAlchemyApiKey}`
  }),
  network_id: 3,       // Ropsten's id
  networkCheckTimeout: 1000000000,
  gas: 4000000,
  confirmations: 1,    // # of confs to wait between deployments. (default: 0)
  timeoutBlocks: 50000,  // # of blocks before a deployment times out  (minimum/default: 50)
  skipDryRun: true     // Skip dry run before migrations? (default: false for public nets )
},

这些错误是什么意思,我应该如何配置以防止该故障?谢谢!

4

2 回答 2

1

构造 HDWalletProvider 时通过传递chainId: 3可以解决问题。

  ropsten: {
      provider: () => new HDWalletProvider({
      privateKeys: [testnetPrivateKey],
      providerOrUrl: `https://eth-ropsten.alchemyapi.io/v2/${ropstenAlchemyApiKey}`,
       ////////////////////////////
      chainId: 3 // add this

}),

于 2021-04-28T14:59:27.300 回答
0

看看这里chainid-vs-networkid了解更多关于chaindId

于 2021-05-11T07:59:56.287 回答