J'essaie de vérifier mon contrat déployé à partir de truffle et j'obtiens l'erreur "Etherscan n'a pas de support pour le réseau testnet avec l'ID 97". Je travaille donc avec Bscscan et j'ai déployé mon contrat sur bsc testnet.

Comment puis-je résoudre ce problème?

Mon truffle-config.js

const HDWalletProvider = require('truffle-hdwallet-provider');
const fs = require('fs');
const mnemonic = fs.readFileSync(".secret").toString().trim();
const BSCSCANAPIKEY = fs.readFileSync("apikey").toString().trim();

module.exports = {
  networks: {
    development: {
      host: "127.0.0.1",     // Localhost (default: none)
      port: 8545,            // Standard BSC port (default: none)
      network_id: "*",       // Any network (default: none)
    },
    testnet: {
      provider: () => new HDWalletProvider(mnemonic, `https://data-seed-prebsc-1-s1.binance.org:8545`),
      network_id: 97,
      confirmations: 1,
      timeoutBlocks: 200,
      skipDryRun: true
    },
    bsc: {
      provider: () => new HDWalletProvider(mnemonic, `https://bsc-dataseed1.binance.org`),
      network_id: 56,
      confirmations: 10,
      timeoutBlocks: 200,
      skipDryRun: true
    },
  },

  // Set default mocha options here, use special reporters etc.
  mocha: {
    // timeout: 100000
  },

  // Configure your compilers
  compilers: {
    solc: {
      version: "0.6.12"
    }
  },
  plugins: [
    'truffle-plugin-verify'
  ],
  api_keys: {
    bscscan: BSCSCANAPIKEY
  },
}

Résultat:

> truffle run verify MyToken@{address}--network testnet
    Etherscan has no support for network testnet with id 97
1
Savas Adar 5 févr. 2021 à 14:50

1 réponse

Meilleure réponse

Installez la dernière version de truffle-plugin-verify.

Désormais, la dernière version est la 0.5.4.

npm install truffle-plugin-verify@^0.5.4 -D

Pourquoi cela arrive-t-il? Dans ce fichier (https://github.com/rkalis/ truffle-plugin-verify / blob / 32ab0f698b1e151849ab463357cded664c5cffa3 / constants.js)

Vous pouvez voir les deux dernières API_URL (56 et 97). Ceci est ajouté à la version supérieure plutôt qu'à ce que vous avez installé.

const API_URLS = {
  1: 'https://api.etherscan.io/api',
  3: 'https://api-ropsten.etherscan.io/api',
  4: 'https://api-rinkeby.etherscan.io/api',
  5: 'https://api-goerli.etherscan.io/api',
  42: 'https://api-kovan.etherscan.io/api',
  56: 'https://api.bscscan.com/api',
  97: 'https://api-testnet.bscscan.com/api'
}
2
True Eye 23 févr. 2021 à 23:12