

Чтобы начать процесс проверки смарт-контракта с помощью Hardhat, установите плагин Hardhat Etherscan. Благодаря ему среда разработки Hardhat интегрируется с блокчейн-эксплорерами, такими как BSCScan, и вы сможете проверять свои развернутые смарт-контракты в блокчейне.
Установите плагин, выполнив в каталоге проекта команду:
npm install --save-dev @nomiclabs/hardhat-etherscan
После установки зарегистрируйте API-ключ на выбранном блокчейн-эксплорере вашей сети. API-ключ нужен для аутентификации запросов проверки и потребуется на этапе настройки.
После установки плагина настройте его в файле hardhat.config.js. Это позволит Hardhat корректно взаимодействовать с блокчейн-эксплорером и использовать все необходимые данные для проверки контрактов.
Внесите следующие изменения в hardhat.config.js:
require("@nomiclabs/hardhat-etherscan")Пример файла конфигурации:
// hardhat.config.js
const { mnemonic, explorerApiKey } = require('./secrets.json');
require('@nomiclabs/hardhat-[etherscan](https://dex.gate.com/crypto-wiki/article/how-to-use-etherscan-to-navigate-the-blockchain-20251127)');
/**
* @type {import('hardhat/config').HardhatUserConfig}
*/
module.exports = {
networks: {
testnet: {
url: `https://data-seed-prebsc-1-e05a8b61d2d5ddd83ebdd5dc0ee2d25c6330ee4393a2d6a27465d41bc47f274a.bnbchain.org:2053`,
accounts: { mnemonic: mnemonic }
},
mainnet: {
url: `https://bsc-dataseed1.bnbchain.org:443`,
accounts: { mnemonic: mnemonic }
}
},
etherscan: {
apiKey: explorerApiKey
},
solidity: "0.5.12"
};
Проверьте, что настройки сети указывают на правильные RPC-эндпоинты, а версия компилятора Solidity соответствует вашему смарт-контракту.
После установки и настройки плагина можно выполнить проверку смарт-контракта через блокчейн-эксплорер. Перед запуском команды проверьте, что в проекте отсутствуют ненужные контракты, и очистите каталог artifacts, чтобы исключить не относящиеся к делу контракты из процесса проверки.
Запустите команду проверки со следующим синтаксисом:
npx hardhat verify --network mainnet DEPLOYED_CONTRACT_ADDRESS "Constructor argument 1"
Например, для проверки контракта в testnet используйте команду:
npx hardhat verify --network testnet 0xbF39886B4F91F5170934191b0d96Dd277147FBB2
После успешного выполнения появится подтверждающий результат:
Nothing to compile
Compiling 1 file with 0.5.16
Successfully submitted source code for contract
contracts/BEP20Token.sol:BEP20Token at 0xbF39886B4F91F5170934191b0d96Dd277147FBB2
for verification on Etherscan. Waiting for verification result...
Successfully verified contract [BEP20Token](https://dex.gate.com/crypto-wiki/article/849b8dd7-2cc3-4d63-90ea-8438c4ed8a17) on Etherscan.
Этот вывод подтверждает успешную проверку смарт-контракта и его публичную доступность в блокчейн-эксплорере.
Проверка смарт-контрактов с помощью Hardhat verify и блокчейн-эксплореров — это простой способ повысить прозрачность и безопасность в блокчейн-экосистеме. Установив плагин Hardhat Etherscan, правильно настроив файл hardhat.config.js c корректным API-ключом и сетевыми параметрами и выполнив команду проверки, вы обеспечите верификацию и аудитируемость своих контрактов на блокчейне. Это повышает доверие пользователей и партнеров, поскольку исходный код вашего контракта становится открытым для проверки и валидации.
Hardhat — это среда разработки для смарт-контрактов Ethereum, позволяющая компилировать, развертывать, тестировать и отлаживать код на локальных сетях и в тестнетах.
Воспользуйтесь инструментами верификации, чтобы убедиться, что байткод совпадает с исходным кодом. Отправьте исходный код, версию компилятора и параметры конструктора на сервис проверки. После верификации исходный код становится общедоступным и вызывает доверие.
Проверьте адрес контракта в блокчейн-эксплорере, изучите историю транзакций, убедитесь в легитимности связанного токена и проверьте, соответствуют ли функции контракта заявленным целям.











