Error when migrating contracts using truffle

676 views Asked by At

When using traffle deploying contracts it gives these errors:

"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....

And my truffle-config.js like this:

 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 )
},

What does these errors mean and how should I configure to prevent that failure? Thanks!

2

There are 2 answers

1
hliu On

When constructing HDWalletProvider pass chainId: 3 can solve the problem.

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

}),

0
Muller Roufaou On

Take a look here chainid-vs-networkid for more details about chaindId