BTC
ETH
HTX
SOL
BNB
ดูตลาด
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt

วิธีรับราคาปัจจุบันของ ETH, BTC และ cryptocurrencies อื่น ๆ ใน Solidity

Chainlink
特邀专栏作者
บทความนี้มีประมาณ 2305 คำ การอ่านทั้งหมดใช้เวลาประมาณ 4 นาที
การรับข้อมูลราคาใน Solidity smart contract เป็นข้อกำหนดทั่วไปสำหรับแอปพลิเคชัน DeFi
สรุปโดย AI
การรับข้อมูลราคาใน Solidity smart contract เป็นข้อกำหนดทั่วไปสำหรับแอปพลิเคชัน DeFi

การรับข้อมูลราคาใน Solidity smart contract เป็นข้อกำหนดทั่วไปสำหรับแอปพลิเคชัน DeFi ในการรับราคาของ ETH, BTC หรือสกุลเงินดิจิทัลอื่น ๆ ใน Solidity คุณสามารถทำได้ด้วยวิธีใดวิธีหนึ่งจากสองวิธีต่อไปนี้:
  1. รับข้อมูลราคาโดยใช้ฟีดราคาของ Chainlink

  2. รับข้อมูลราคาโดยใช้ API ภายนอกผ่าน Chainlink oracles

ชื่อระดับแรก

ความต้องการข้อมูลราคาที่ถูกต้องและเชื่อถือได้ในสัญญาอัจฉริยะ

โปรโตคอล DeFi เติบโตอย่างก้าวกระโดดในปีนี้ และมูลค่ารวมของ DeFi ที่ล็อกได้เพิ่มขึ้นจาก 680 ล้านดอลลาร์ในเดือนมกราคมเป็น 14,000 ล้านดอลลาร์ในขณะนี้ โปรโตคอล DeFi เหล่านี้อาศัยข้อมูลราคาภายนอกเป็นแหล่งข้อมูล เนื่องจากบล็อกเชนไม่สามารถเข้าถึงข้อมูลภายนอกภายในเครื่องได้โดยตรง นอกจากนี้ แอปพลิเคชันเหล่านี้จำเป็นต้องจัดเตรียมการรับประกันข้อมูลเพื่อปกป้องแอปพลิเคชันจากการเจาะระบบ เช่น การโจมตีด้วยออราเคิลด้านราคาและการโจมตีอื่นๆ

ฟีดราคาของ Chainlink ช่วยลดความเสี่ยงของการโจมตีเหล่านี้โดยการให้ข้อมูลที่รวบรวมจากผู้ให้บริการข้อมูลคุณภาพสูงหลายราย และป้อนข้อมูลบนเชนผ่านออราเคิลแบบกระจายอำนาจบนเครือข่าย Chainlink กลไกออราเคิลแบบกระจายศูนย์ของ Chainlink ช่วยให้มั่นใจได้ว่าข้อมูลราคาสุดท้ายสะท้อนความครอบคลุมของข้อมูลตลาดในวงกว้าง ซึ่งหมายความว่าข้อมูลราคาสุดท้ายจะถูกกำหนดหลังจากการรวมข้อมูลราคาต่างๆ ในตลาดทั้งหมด ไม่ใช่แค่ข้อมูลส่วนเล็กๆ เท่านั้น แต่ยังคำนึงถึงส่วนอื่นๆ ด้วย ปัจจัยต่างๆ เช่น ปริมาณและสภาพคล่อง

ชื่อระดับแรก

การใช้ Chainlink เพื่อป้อนราคาบน Ethereum

ชื่อระดับแรก

สร้างสัญญาอัจฉริยะ

ขั้นตอนแรกคือการรับ ETH ของเครือข่ายทดสอบเป็นค่าธรรมเนียมก๊าซสำหรับสัญญาอัจฉริยะ หลังจากได้รับ ETH แล้ว วิธีที่ง่ายที่สุดในการสร้างสัญญาอัจฉริยะที่ใช้ Chainlink เพื่อดึงราคาคือเริ่มต้นด้วยสัญญาผู้บริโภคราคามาตรฐาน นี่คือสัญญาพื้นฐานที่ใช้ในการเริ่มต้นคำขอฟีดราคาไปยัง Chainlink ส่วนนี้มีวัตถุประสงค์เพื่อการสาธิต เราจะใช้ฟีดราคา ETH/USD ที่กำหนดไว้แล้วในสัญญาผู้บริโภคราคามาตรฐาน แต่เราจะอธิบายส่วนนี้ของโค้ดโดยละเอียดเพื่อให้คุณเข้าใจวิธีการทำงาน

ก่อนอื่นเราจะเห็นว่ามีการนำเข้าอินเทอร์เฟซสัญญา AggregatorV3Interface ด้วยวิธีนี้ สัญญาอัจฉริยะของเราสามารถอ้างอิงสัญญาฟีดราคาที่ปรับใช้บนเครือข่ายทดสอบ Kovan ต่อไป เราสร้างตัวอย่างสัญญาและเก็บไว้ในตัวแปรท้องถิ่น

ต่อไป เราจะเห็นว่าสัญญาอ้างอิงฟีดราคาเริ่มต้นในตัวสร้าง สัญญาอ้างอิงฟีดราคา ETH/USD บน Kovan testnet ถูกปรับใช้ที่ที่อยู่ 0x9326BFA02ADD2366b30bacB125260Af641031331

ชื่อระดับแรก

ปรับใช้และทดสอบสัญญาอัจฉริยะ

ตอนนี้เราพร้อมที่จะปรับใช้และทดสอบสัญญาของเราแล้ว รวบรวมสัญญาใน Remix จากนั้นในตัวเลือก "ปรับใช้" เปลี่ยนสภาพแวดล้อมเป็น "Injected Web3" และตรวจสอบให้แน่ใจว่าที่อยู่กระเป๋าเงินด้านล่างเป็นที่อยู่กระเป๋าเงินที่คุณได้รับ ETH ก่อนหน้านี้ในกระเป๋าเงิน MetaMask ของคุณ คลิกปุ่มปรับใช้ และทำตามขั้นตอน เพียงแค่ดำเนินการ ผลลัพธ์ที่ได้คือคุณปรับใช้สัญญาอัจฉริยะกับ Kovan testnet จำเป็นต้องบันทึกที่อยู่สัญญาที่ใช้งานซึ่งบันทึกผ่านเอาต์พุตธุรกรรมในคอนโซล Remix

คำอธิบายภาพ


ชื่อระดับแรก

รับข้อมูลราคาเพิ่มเติมใน Solidity

Chainlink Price Feed ให้ข้อมูลราคาจำนวนมากสำหรับคู่ราคา DeFi ชั้นนำ หากคุณต้องการข้อมูลราคาสินทรัพย์ในสัญญาอัจฉริยะของคุณที่ไม่ครอบคลุมโดยสัญญาฟีดราคาที่มีอยู่ เช่น ราคาของหุ้นเฉพาะ คุณสามารถปรับแต่ง Chainlink oracle เพื่อเรียก API ภายนอกใดๆ ก็ได้ วิธีที่ง่ายที่สุดในการใช้ Chainlink oracle เพื่อรับข้อมูลราคาภายนอกคือเริ่มต้นด้วยสัญญา Chainlink APIConsumer มาตรฐาน นี่เป็นสัญญามาตรฐานที่เริ่มต้นคำขอข้อมูลภายนอกผ่าน Chainlink oracles

หลังจากสร้างสัญญา APIConsumer คุณจะพบ API ที่คุณต้องการรับข้อมูลราคา ตัวอย่างเช่น คุณสามารถใช้ Alpha Vantage API เพื่อค้นหาราคาปัจจุบันของหุ้น IBM

เมื่อคุณมีจุดสิ้นสุด API คุณเพียงแค่ต้องตั้งค่าพารามิเตอร์ที่ถูกต้องในสัญญาและส่งคำขอไปยัง Chainlink oracle ดูข้อมูลเพิ่มเติมเกี่ยวกับเรื่องนี้และวิธีใช้สัญญา APIConsumer มาตรฐานได้ในเอกสารประกอบของ Chainlink

สรุป

สรุป

ฟีดราคา Chainlink มอบวิธีการที่เชื่อถือได้ในการรับ Bitcoin, Ethereum และข้อมูลราคาสกุลเงินดิจิตอลอื่น ๆ คุณภาพสูงเข้าสู่ Solidity smart contracts นอกจากนี้ กรอบงาน Oracle ของ Chainlink ยังให้ความยืดหยุ่นในการรับข้อมูลราคาอื่น ๆ เช่น หุ้น สินค้าโภคภัณฑ์ และสินทรัพย์อื่น ๆ อย่างรวดเร็วและง่ายดาย

BTC
ETH
นักพัฒนา
ยินดีต้อนรับเข้าร่วมชุมชนทางการของ Odaily
กลุ่มสมาชิก:
https://t.me/Odaily_News
กลุ่มสนทนา:
https://t.me/Odaily_GoldenApe
บัญชีทางการ:
https://twitter.com/OdailyChina
สารบัญบทความ
คลังบทความของผู้เขียน
Chainlink
อันดับบทความร้อน
Daily
Weekly
ดาวน์โหลดแอพ Odaily พลาเน็ตเดลี่
ให้คนบางกลุ่มเข้าใจ Web3.0 ก่อน
IOS
Android