หากต้องการปรับใช้สัญญาบน Goerli Testnet คุณจะต้องมี Goerli ETH (GoerliETH) แม้ว่าจะไม่มีมูลค่าที่แท้จริง แต่ก็จำเป็นสำหรับการจ่ายค่าธรรมเนียมน้ำมันบนเทสเน็ต
Metamask: ตรวจสอบให้แน่ใจว่า Metamask ของคุณเปลี่ยนเป็น Goerli Test Network
ไปที่ Goerli faucet เพื่อขอ GoerliETH เพียงวางที่อยู่ Goerli Testnet Ethereum ของคุณ และคุณควรจะได้รับ ETH ทดสอบในไม่ช้า
ใน Remix ให้ไปที่แท็บ Deploy & Run Transactions
สำหรับตัวเลือก Environment
ให้เลือก Injected Provider
ตัวเลือกนี้อนุญาตให้ Remix เชื่อมต่อกับเครือข่ายใด ๆ ที่คุณตั้งค่า Metamask ไว้ในปัจจุบัน ซึ่งควรเป็น Goerli Testnet
ตรวจสอบให้แน่ใจว่าสัญญาของคุณ OracleIntegratedContract
ถูกเลือกไว้ในดรอปดาวน์ Contract
สำหรับเมนูแบบเลื่อนลง Account
คุณควรเห็นที่อยู่ Goerli Testnet Ethereum ของคุณ
ก่อนที่จะปรับใช้ คุณจะต้องมีที่อยู่ของฟีดราคา Chainlink บนเครือข่าย Goerli เพื่อตัวอย่างนี้ เราจะใช้ฟีดราคา ETH/USD โดยปกติคุณจะพบที่อยู่เหล่านี้ได้ในเอกสารของ Chainlink หรือโดยการสำรวจสัญญาของ Chainlink บนไซต์เช่น Etherscan ตรวจสอบที่นี่: Testnet Oracles | เอกสาร Chainlink
คัดลอกที่อยู่ Goerli Testnet ของฟีดราคา Chainlink ที่คุณต้องการใช้ ในกรณีนี้: 0xCC79157eb46F5624204f47AB42b3906cAA40eaB7
ย้อนกลับไปใน Remix ในแท็บ Deploy & Run Transactions
ให้แน่ใจว่าสัญญาของคุณ OracleIntegratedContract
ถูกเลือกไว้ในดรอปดาวน์ Contract
วางที่อยู่ที่คัดลอกลงในช่องด้านล่างปุ่ม Deploy
(นี่คือที่ที่คุณระบุอาร์กิวเมนต์ของ Constructor)
เมื่อกรอกที่อยู่ฟีดราคาแล้ว ให้คลิกปุ่ม Deploy
Metamask จะแจ้งให้คุณยืนยันการทำธุรกรรม ตรวจสอบราคาน้ำมันและขีดจำกัดของน้ำมันเพื่อให้แน่ใจว่าทุกอย่างเรียบร้อยดี จากนั้นยืนยันธุรกรรม
หลังจากที่ธุรกรรมถูกขุดขึ้นมา คุณจะเห็นบันทึกใน Remix พร้อมรายละเอียดการปรับใช้ คุณสามารถคลิกที่ที่อยู่สัญญาเพื่อดูสัญญาใน Goerli Etherscan
เมื่อใช้งานสัญญาแล้ว ก็ถึงเวลาทดสอบการทำงานของสัญญา
ในส่วน Deployed Contracts
ใน Remix คุณควรเห็น OracleIntegratedContract
ของคุณ
ขยายรายละเอียดสัญญาที่ปรับใช้เพื่อดูฟังก์ชันที่พร้อมใช้งาน
ก่อนที่จะโทรออก คุณต้องกัก LINK ไว้ในที่อยู่ Goerli Testnet ของคุณก่อน คุณสามารถขอได้ที่นี่: https://faucets.chain.link/goerli
เมื่อได้รับแล้ว หากต้องการตรวจสอบยอดคงเหลือ คุณสามารถเพิ่ม LINK ลงใน Metamask บน Goerli ได้ ค้นหาที่นี่: https://docs.chain.link/resources/link-token-contracts
หรือคุณสามารถดำเนินการด้วยตนเองโดยเพิ่มที่อยู่สัญญาดังนี้:
เรียกใช้ฟังก์ชัน getLatestEthPrice
โดยคลิกที่มัน ควรส่งคืนราคา ETH ล่าสุดในรูปแบบดิบ
ตอนนี้ เรียกใช้ฟังก์ชัน getFormattedEthPrice
ฟังก์ชันนี้ส่งคืนราคาในรูปแบบที่อ่านง่ายขึ้น
สุดท้ายนี้ ให้เรียกใช้ฟังก์ชัน safeGetLatestEthPrice
เพื่อให้แน่ใจว่ามีการตรวจสอบความปลอดภัยในการดึงข้อมูล
ยินดีด้วย! คุณได้ปรับใช้และทดสอบสัญญาที่ผสานรวม Oracle บน Goerli Testnet สำเร็จแล้ว ประสบการณ์ในโลกแห่งความเป็นจริงนี้มีค่าอย่างยิ่ง เนื่องจากจะนำคุณเข้าใกล้การปรับใช้งานบนเครือข่าย Ethereum หลักอีกก้าวหนึ่ง ในบทเรียนถัดไป เราจะเจาะลึกแนวทางปฏิบัติที่ดีที่สุดและข้อผิดพลาดทั่วไปที่ต้องระวัง
หากต้องการปรับใช้สัญญาบน Goerli Testnet คุณจะต้องมี Goerli ETH (GoerliETH) แม้ว่าจะไม่มีมูลค่าที่แท้จริง แต่ก็จำเป็นสำหรับการจ่ายค่าธรรมเนียมน้ำมันบนเทสเน็ต
Metamask: ตรวจสอบให้แน่ใจว่า Metamask ของคุณเปลี่ยนเป็น Goerli Test Network
ไปที่ Goerli faucet เพื่อขอ GoerliETH เพียงวางที่อยู่ Goerli Testnet Ethereum ของคุณ และคุณควรจะได้รับ ETH ทดสอบในไม่ช้า
ใน Remix ให้ไปที่แท็บ Deploy & Run Transactions
สำหรับตัวเลือก Environment
ให้เลือก Injected Provider
ตัวเลือกนี้อนุญาตให้ Remix เชื่อมต่อกับเครือข่ายใด ๆ ที่คุณตั้งค่า Metamask ไว้ในปัจจุบัน ซึ่งควรเป็น Goerli Testnet
ตรวจสอบให้แน่ใจว่าสัญญาของคุณ OracleIntegratedContract
ถูกเลือกไว้ในดรอปดาวน์ Contract
สำหรับเมนูแบบเลื่อนลง Account
คุณควรเห็นที่อยู่ Goerli Testnet Ethereum ของคุณ
ก่อนที่จะปรับใช้ คุณจะต้องมีที่อยู่ของฟีดราคา Chainlink บนเครือข่าย Goerli เพื่อตัวอย่างนี้ เราจะใช้ฟีดราคา ETH/USD โดยปกติคุณจะพบที่อยู่เหล่านี้ได้ในเอกสารของ Chainlink หรือโดยการสำรวจสัญญาของ Chainlink บนไซต์เช่น Etherscan ตรวจสอบที่นี่: Testnet Oracles | เอกสาร Chainlink
คัดลอกที่อยู่ Goerli Testnet ของฟีดราคา Chainlink ที่คุณต้องการใช้ ในกรณีนี้: 0xCC79157eb46F5624204f47AB42b3906cAA40eaB7
ย้อนกลับไปใน Remix ในแท็บ Deploy & Run Transactions
ให้แน่ใจว่าสัญญาของคุณ OracleIntegratedContract
ถูกเลือกไว้ในดรอปดาวน์ Contract
วางที่อยู่ที่คัดลอกลงในช่องด้านล่างปุ่ม Deploy
(นี่คือที่ที่คุณระบุอาร์กิวเมนต์ของ Constructor)
เมื่อกรอกที่อยู่ฟีดราคาแล้ว ให้คลิกปุ่ม Deploy
Metamask จะแจ้งให้คุณยืนยันการทำธุรกรรม ตรวจสอบราคาน้ำมันและขีดจำกัดของน้ำมันเพื่อให้แน่ใจว่าทุกอย่างเรียบร้อยดี จากนั้นยืนยันธุรกรรม
หลังจากที่ธุรกรรมถูกขุดขึ้นมา คุณจะเห็นบันทึกใน Remix พร้อมรายละเอียดการปรับใช้ คุณสามารถคลิกที่ที่อยู่สัญญาเพื่อดูสัญญาใน Goerli Etherscan
เมื่อใช้งานสัญญาแล้ว ก็ถึงเวลาทดสอบการทำงานของสัญญา
ในส่วน Deployed Contracts
ใน Remix คุณควรเห็น OracleIntegratedContract
ของคุณ
ขยายรายละเอียดสัญญาที่ปรับใช้เพื่อดูฟังก์ชันที่พร้อมใช้งาน
ก่อนที่จะโทรออก คุณต้องกัก LINK ไว้ในที่อยู่ Goerli Testnet ของคุณก่อน คุณสามารถขอได้ที่นี่: https://faucets.chain.link/goerli
เมื่อได้รับแล้ว หากต้องการตรวจสอบยอดคงเหลือ คุณสามารถเพิ่ม LINK ลงใน Metamask บน Goerli ได้ ค้นหาที่นี่: https://docs.chain.link/resources/link-token-contracts
หรือคุณสามารถดำเนินการด้วยตนเองโดยเพิ่มที่อยู่สัญญาดังนี้:
เรียกใช้ฟังก์ชัน getLatestEthPrice
โดยคลิกที่มัน ควรส่งคืนราคา ETH ล่าสุดในรูปแบบดิบ
ตอนนี้ เรียกใช้ฟังก์ชัน getFormattedEthPrice
ฟังก์ชันนี้ส่งคืนราคาในรูปแบบที่อ่านง่ายขึ้น
สุดท้ายนี้ ให้เรียกใช้ฟังก์ชัน safeGetLatestEthPrice
เพื่อให้แน่ใจว่ามีการตรวจสอบความปลอดภัยในการดึงข้อมูล
ยินดีด้วย! คุณได้ปรับใช้และทดสอบสัญญาที่ผสานรวม Oracle บน Goerli Testnet สำเร็จแล้ว ประสบการณ์ในโลกแห่งความเป็นจริงนี้มีค่าอย่างยิ่ง เนื่องจากจะนำคุณเข้าใกล้การปรับใช้งานบนเครือข่าย Ethereum หลักอีกก้าวหนึ่ง ในบทเรียนถัดไป เราจะเจาะลึกแนวทางปฏิบัติที่ดีที่สุดและข้อผิดพลาดทั่วไปที่ต้องระวัง