通过truffel部署智能合约,在bsc上部署可以成功,在ok上部署就会提示未授权认证

通过truffel部署智能合约,在bsc上部署可以成功,在ok上部署就会提示未授权认证

// 默认读取项目根目录下的.env文件,用process.env.调用
const result=require('dotenv').config();
if (result.error) {
  throw result.error;
}
const HDWalletProvider = require("truffle-hdwallet-provider");
module.exports = {
  networks: {
      bsc: {
        provider: function() {
          // 此处需要return
          return new HDWalletProvider(process.env.mnemonic, 'https://data-seed-prebsc-1-s1.binance.org:8545')
        },
        network_id: '97',       // Ropsten's id
        // host: "13.113.186.67", // 用于示例目的的随机IP(不要使用)
        // port: 8545,
        networkCheckTimeout: 60000,
             
      },
      oktest: {
        provider: function() {
            // mnemonic 助记词
            return new HDWalletProvider(process.env.mnemonic, 'https://exchaintestrpc.okex.org')
        },
        network_id: 65,
        networkCheckTimeout: 60000,
        gas: 4500000,
        gasPrice: 10000000000 
      }
  },
  compilers: {
    solc: {
      version: '0.8.6'
    }
  }
};


ok部署结果会出现下面问题:

  *** Deployment Failed ***

"Migrations" -- unauthorized: signature verification failed: deprecated support for homestead Signer.

    at C:\Users\Administrator\AppData\Roaming\npm\node_modules\truffle\build\webpack:\packages\deployer\src\deployment.js:365:1
    at processTicksAndRejections (internal/process/task_queues.js:93:5)
    at Migration._deploy (C:\Users\Administrator\AppData\Roaming\npm\node_modules\truffle\build\webpack:\packages\migrate\Migration.js:70:1)
    at Migration._load (C:\Users\Administrator\AppData\Roaming\npm\node_modules\truffle\build\webpack:\packages\migrate\Migration.js:56:1)
    at Migration.run (C:\Users\Administrator\AppData\Roaming\npm\node_modules\truffle\build\webpack:\packages\migrate\Migration.js:217:1)
    at Object.runMigrations (C:\Users\Administrator\AppData\Roaming\npm\node_modules\truffle\build\webpack:\packages\migrate\index.js:150:1)
    at Object.runFrom (C:\Users\Administrator\AppData\Roaming\npm\node_modules\truffle\build\webpack:\packages\migrate\index.js:110:1)

问题解决思路在truffle和@truffle/hdwallet-provider的版本上。
参考: OEC主网和测试网升级到v0.19.1后仅支持EIP155签名,不再支持homestead签名 - OKExChain.Club https://forum.okt.club/d/195-oecv0191eip155homestead