Proyek ini mendemonstrasikan kasus penggunaan Hardhat tingkat lanjut, yang mengintegrasikan alat lain yang biasa digunakan bersama Hardhat dalam ekosistem.
Proyek ini dilengkapi dengan kontrak sampel, pengujian untuk kontrak tersebut, skrip sampel yang menyebarkan kontrak tersebut, dan contoh penerapan tugas, yang hanya mencantumkan akun yang tersedia. Itu juga dilengkapi dengan berbagai alat lain, yang telah dikonfigurasikan sebelumnya untuk bekerja dengan kode proyek.
Coba jalankan beberapa tugas berikut:
npx hardhat accounts
npx hardhat compile
npx hardhat clean
npx hardhat test
npx hardhat node
npx hardhat help
REPORT_GAS=true npx hardhat test
npx hardhat coverage
npx hardhat run scripts/deploy.ts
TS_NODE_FILES=true npx ts-node scripts/deploy.ts
npx eslint ' **/*.{js,ts} '
npx eslint ' **/*.{js,ts} ' --fix
npx prettier ' **/*.{json,sol,md} ' --check
npx prettier ' **/*.{json,sol,md} ' --write
npx solhint ' contracts/**/*.sol '
npx solhint ' contracts/**/*.sol ' --fix
Untuk mencoba verifikasi Etherscan, Anda harus terlebih dahulu menerapkan kontrak ke jaringan Ethereum yang didukung oleh Etherscan, seperti Ropsten.
Dalam proyek ini, salin file .env.example ke file bernama .env, lalu edit untuk mengisi detailnya. Masukkan kunci API Etherscan Anda, URL node Ropsten Anda (misalnya dari Alchemy), dan kunci pribadi akun yang akan mengirimkan transaksi penerapan. Dengan file .env yang valid, terapkan kontrak Anda terlebih dahulu:
hardhat run --network ropsten scripts/sample-script.ts
Kemudian, salin alamat penerapan dan tempel untuk menggantikan DEPLOYED_CONTRACT_ADDRESS
dalam perintah ini:
npx hardhat verify --network ropsten DEPLOYED_CONTRACT_ADDRESS " Hello, Hardhat! "
Untuk menjalankan pengujian dan skrip Anda lebih cepat, pertimbangkan untuk melewatkan pemeriksaan tipe ts-node dengan mengatur variabel lingkungan TS_NODE_TRANSPILE_ONLY
ke 1
di lingkungan hardhat. Untuk lebih jelasnya lihat dokumentasi.