

Để bắt đầu xác minh hợp đồng thông minh với Hardhat, bạn cần cài đặt plugin Hardhat Etherscan. Plugin này hỗ trợ tích hợp trực tiếp giữa môi trường phát triển Hardhat và các trình khám phá blockchain như BSCScan, cho phép xác minh hợp đồng thông minh đã triển khai trên blockchain.
Cài đặt plugin bằng lệnh sau trong thư mục dự án:
npm install --save-dev @nomiclabs/hardhat-etherscan
Sau khi hoàn tất cài đặt, hãy truy cập trình khám phá blockchain phù hợp với mạng lưới bạn sử dụng và đăng ký khóa API. Khóa API này là yếu tố xác thực không thể thiếu khi gửi yêu cầu xác minh và sẽ được sử dụng ở bước cấu hình.
Sau khi cài đặt plugin, bạn cần thiết lập cấu hình trong tệp hardhat.config.js. Cấu hình này giúp Hardhat giao tiếp với trình khám phá blockchain và đảm bảo có đủ thông tin xác thực để xác minh hợp đồng.
Thêm các cấu hình sau vào tệp hardhat.config.js:
require("@nomiclabs/hardhat-etherscan")Dưới đây là ví dụ về file cấu hình:
// hardhat.config.js
const { mnemonic, explorerApiKey } = require('./secrets.json');
require('@nomiclabs/hardhat-[etherscan](https://web3.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"
};
Hãy đảm bảo cấu hình mạng trỏ đến đúng địa chỉ RPC và phiên bản trình biên dịch Solidity phù hợp với hợp đồng thông minh của bạn.
Sau khi plugin đã được cài đặt và cấu hình, bạn có thể xác minh hợp đồng thông minh trên trình khám phá blockchain. Trước khi thực hiện lệnh xác minh, nên xóa các hợp đồng dư thừa trong dự án và dọn sạch thư mục artifacts để tránh xác minh nhầm các smart contract không liên quan.
Chạy lệnh xác minh theo cú pháp sau:
npx hardhat verify --network mainnet DEPLOYED_CONTRACT_ADDRESS "Constructor argument 1"
Ví dụ, nếu xác minh hợp đồng trên testnet, lệnh sẽ như sau:
npx hardhat verify --network testnet 0xbF39886B4F91F5170934191b0d96Dd277147FBB2
Sau khi lệnh thực thi thành công, bạn sẽ nhận được thông báo xác nhận xác minh:
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://web3.gate.com/crypto-wiki/article/849b8dd7-2cc3-4d63-90ea-8438c4ed8a17) on Etherscan.
Thông báo này xác nhận hợp đồng thông minh của bạn đã được xác minh thành công và có thể tra cứu công khai trên trình khám phá blockchain.
Xác minh hợp đồng thông minh bằng tính năng verify của Hardhat và các trình khám phá blockchain là quy trình rõ ràng, giúp nâng cao minh bạch và bảo mật cho hệ sinh thái blockchain. Việc cài đặt plugin Hardhat Etherscan, cấu hình đúng tệp hardhat.config.js với khóa API và thiết lập mạng phù hợp, cùng thao tác xác minh, giúp hợp đồng thông minh của bạn được xác thực và có thể kiểm toán công khai trên blockchain. Quy trình này củng cố niềm tin cho người dùng cùng các bên liên quan khi họ có thể kiểm tra và xác nhận mã nguồn hợp đồng của bạn.
Hardhat là môi trường phát triển hợp đồng thông minh Ethereum, hỗ trợ lập trình viên biên dịch, triển khai, kiểm thử và gỡ lỗi mã hiệu quả trên mạng cục bộ và testnet.
Bạn sử dụng công cụ xác minh để kiểm tra bytecode có khớp với mã nguồn không. Gửi mã nguồn, phiên bản trình biên dịch và tham số khởi tạo lên dịch vụ xác minh. Sau khi xác minh thành công, mã nguồn hợp đồng sẽ được công khai và tăng độ tin cậy.
Hãy xác minh địa chỉ hợp đồng trên trình khám phá block, kiểm tra lịch sử giao dịch gần đây, xác nhận token liên kết có hợp lệ và đảm bảo các hàm hợp đồng phù hợp với mục đích đã công bố.











