โปรเจ็กต์นี้สาธิตกรณีการใช้งาน Hardhat ขั้นสูง โดยผสานรวมเครื่องมืออื่นๆ ที่ใช้กันทั่วไปควบคู่ไปกับ Hardhat ในระบบนิเวศ
โปรเจ็กต์มาพร้อมกับสัญญาตัวอย่าง การทดสอบสัญญานั้น สคริปต์ตัวอย่างที่ใช้สัญญานั้น และตัวอย่างการใช้งาน ซึ่งเพียงแสดงรายการบัญชีที่มีอยู่ มันยังมาพร้อมกับเครื่องมืออื่นๆ มากมาย ที่ได้รับการกำหนดค่าล่วงหน้าให้ทำงานกับโค้ดโปรเจ็กต์ได้
ลองรันงานบางอย่างต่อไปนี้:
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
หากต้องการลองใช้การยืนยัน Etherscan คุณต้องปรับใช้สัญญากับเครือข่าย Ethereum ที่ Etherscan รองรับ เช่น Ropsten
ในโปรเจ็กต์นี้ ให้คัดลอกไฟล์ .env.example ไปยังไฟล์ชื่อ .env จากนั้นแก้ไขเพื่อกรอกรายละเอียด ป้อนคีย์ Etherscan API, URL โหนด Ropsten ของคุณ (เช่น จาก Alchemy) และคีย์ส่วนตัวของบัญชีที่จะส่งธุรกรรมการปรับใช้ เมื่อมีไฟล์ .env ที่ถูกต้อง ให้ปรับใช้สัญญาของคุณก่อน:
hardhat run --network ropsten scripts/sample-script.ts
จากนั้น คัดลอกที่อยู่การปรับใช้และวางเพื่อแทนที่ DEPLOYED_CONTRACT_ADDRESS
ในคำสั่งนี้:
npx hardhat verify --network ropsten DEPLOYED_CONTRACT_ADDRESS " Hello, Hardhat! "
เพื่อให้การทดสอบและสคริปต์ของคุณเร็วขึ้น ให้ลองข้ามการตรวจสอบประเภทของ ts-node โดยตั้งค่าตัวแปรสภาพแวดล้อม TS_NODE_TRANSPILE_ONLY
เป็น 1
ในสภาพแวดล้อมของ hardhat สำหรับรายละเอียดเพิ่มเติม โปรดดูเอกสารประกอบ