ช่างตีเหล็กสร้างส่วนหน้าอย่างง่ายสำหรับการโต้ตอบกับสัญญาอัจฉริยะ
เครื่องมือนี้มีจุดประสงค์เพื่อใช้กับโรงหล่อโดยเฉพาะ
โคลน repo
git clone https://github.com/blacksmith-eth/blacksmith.gitเริ่มแอปพลิเคชันช่างตีเหล็ก
cd blacksmith
pnpm install
pnpm devในหน้าต่างเทอร์มินัลที่สองเริ่มต้นโหนด testnet ท้องถิ่น
anvilในหน้าต่างเทอร์มินัลที่สามสร้างโครงการโรงหล่อในไดเรกทอรีแยกต่างหาก
forge init example
cd exampleจากไดเรกทอรี Foundry ปรับใช้สัญญาเคาน์เตอร์ไปยังโหนด TestNet ในพื้นที่ของคุณ
forge create src/Counter.sol:Counter --verify --unlocked
--from 0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266
--rpc-url http://localhost:8545
--verifier-url http://localhost:3000/api/verify
--verifier sourcifyหมายเหตุ: หากคำสั่งนี้ล้มเหลวให้ดูส่วนการกำหนดค่า Foundry ที่ด้านล่างของ readMe
ไปที่ http: // localhost: 3000 คลิกปุ่มเชื่อมต่อกระเป๋าเงินและเลือกช่างตีเหล็ก
หมายเหตุ: รีเฟรชหน้าหาก Wallet Modal ไม่สามารถยกเลิกได้
เลือกสัญญาเคาน์เตอร์ในแถบด้านข้างสัญญาและเริ่มโต้ตอบ!
แทนที่ $INFURA_KEY ด้วยคีย์ API ส่วนตัวของคุณ
anvil --fork-url https://mainnet.infura.io/v3/ $INFURA_KEYนำทางไปยังหน้า "เริ่มต้นใช้งาน" ช่างตีเหล็กโดยคลิกที่หัวเรื่อง "ช่างตีเหล็ก"
ในส่วน "การจัดการสัญญา" ป้อนที่อยู่สัญญาสำหรับ DAI 0x6b175474e89094c44da98b954eedeac495271d0f และคลิกปุ่มนำเข้า
เลือกสัญญา DAI ในแถบด้านข้างสัญญาและเริ่มโต้ตอบ!
ตัวอย่าง: ลองป้อน 0xad0135af20fa82e106607257143d0060a7eb5cbf ลงในฟังก์ชัน balanceOf
หมายเหตุ: เพื่อให้การนำเข้าสัญญาจะประสบความสำเร็จสัญญาจะต้องได้รับการตรวจสอบใน Etherscan
สร้าง .env.local ในไดเรกทอรีรากของช่างตีเหล็กและรวมคีย์ API ของคุณเพื่อหลีกเลี่ยงการ จำกัด อัตรา
echo " ETHERSCAN_API_KEY=XXX " >> .env.local ตัวอย่างของอาร์กิวเมนต์ CLI ที่จำเป็นในการนำเข้าสัญญาผ่าน forge script สามารถดูได้ด้านล่าง
forge script script/Counter.s.sol:CounterScript --broadcast --verify --unlocked
--sender 0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266
--fork-url http://localhost:8545
--verifier-url http://localhost:3000/api/verify
--verifier sourcifyหากคุณทำงานกับ Hardhat ลองดู? นั่งร้าน-เอท!