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

สร้าง dApps ด้วยการป้อนข้อมูลที่ปลอดภัยบน Binance Smart Chain

Chainlink
特邀专栏作者
บทความนี้มีประมาณ 2919 คำ การอ่านทั้งหมดใช้เวลาประมาณ 5 นาที
ในบทช่วยสอนทางเทคนิคนี้ เราจะอธิบายวิธีใช้ Binance Smart Chain, โทเค็น BNB และ Chainlink oracles แม้ว่าคุณจะไม่มีประ
สรุปโดย AI
ขยาย
ในบทช่วยสอนทางเทคนิคนี้ เราจะอธิบายวิธีใช้ Binance Smart Chain, โทเค็น BNB และ Chainlink oracles แม้ว่าคุณจะไม่มีประ

ในเดือนเมษายน 2019 Binance การแลกเปลี่ยน cryptocurrency ที่มีชื่อเสียงได้เปิดตัวไบแนนซ์เชน) เครือข่ายที่สร้างขึ้นและปรับให้เหมาะสมสำหรับการแลกเปลี่ยนสินทรัพย์อย่างรวดเร็ว และจุดกำเนิดของโทเค็น BNB บน Binance Chain คุณทำได้

  • ส่งและรับโทเค็น BNB

  • ออกโทเค็นใหม่

  • ส่ง รับ เบิร์น/มิ้นต์ และตรึง/ยกเลิกการตรึงโทเค็น

  • เสนอให้สร้างคู่การซื้อขายระหว่างสองโทเค็นที่แตกต่างกัน

  • ส่งคำสั่งซื้อและขายสินทรัพย์ผ่านคู่การซื้อขายที่สร้างขึ้นบนเครือข่าย

Binance Chain นั้นสมบูรณ์แบบสำหรับผู้ใช้เหล่านี้ที่กำลังมองหาธุรกรรมที่รวดเร็วกว่า อย่างไรก็ตาม การออกแบบไม่รองรับ EVM และไม่รองรับสัญญาอัจฉริยะ เพื่อให้สามารถสร้างสัญญาอัจฉริยะได้ ทีม Binance ยังได้สร้างขึ้นBinance สมาร์ทเชน(BSC) เครือข่ายที่ใช้อัลกอริธึมฉันทามติ Proof of Stake Authorization (PoSA) และเข้ากันได้กับ EVM ทำให้นักพัฒนาสัญญาอัจฉริยะสามารถสร้าง dApps ที่ตั้งโปรแกรมได้และผสานรวมกับ Binance Chain

ในแง่หนึ่ง สถาปัตยกรรมแบบ dual-chain ช่วยให้ทำธุรกรรมได้อย่างรวดเร็วในด้านการแลกเปลี่ยนสินทรัพย์ และในทางกลับกัน ยังรองรับสัญญาอัจฉริยะอีกด้วย ทีมงาน Binance เป็นผู้บัญญัติคำว่า "CeDeFi" หรือเรียกมันว่า "การเงินแบบกระจายอำนาจจากส่วนกลาง" เพื่ออธิบายวิธีการแบบผสมผสานนี้ ซึ่งขัดแย้งกับการใช้สถาปัตยกรรมที่มีการกระจายอำนาจน้อยลง เพื่อให้ได้ปริมาณงานธุรกรรมที่มากขึ้น ในขณะที่ยังคงมั่นใจได้ว่านักพัฒนาสามารถปรับใช้แอปพลิเคชันในที่ไม่ได้รับอนุญาต และสามารถใช้เครื่องมือที่เขียนได้เหมือนกันใน Ethereum เช่น Solidity และฟีดราคา Chainlink。

ฟีดราคา Binance Smart Chain Chainlinkชื่อระดับแรก

ชื่อเรื่องรอง

เครื่องมือที่เราจะใช้

เนื่องจาก BSC รองรับ EVM เราจึงสามารถใช้ชุดเครื่องมือเดียวกันกับที่เราจะใช้ในสภาพแวดล้อมการพัฒนา Solidity เช่นTruffle,Hardhat,MetaMaskรอ. ในบทช่วยสอนนี้ เราจะใช้กรอบการพัฒนาสัญญาอัจฉริยะของ PythonBrownieพัฒนาบน BSC เนื่องจากเครือข่ายทดสอบ Binance ไม่รองรับฟีดราคาของ Chainlink และเฟรมเวิร์กของ Brownie มีฟีเจอร์ Forked Chain ที่ทรงพลังซึ่งสามารถใช้ได้ในเครื่อง

หากคุณสนใจที่จะใช้การพัฒนา Truffle และ Hardhat บน Binance Smart Chain แทน Brownie คุณสามารถตรวจสอบได้ฟังก์ชันลูกโซ่แยกของ ganache-cliชื่อเรื่องรอง

จำเป็นต้อง

  • python3

  • nodejs

  • ganache-cli

  • brownie

คู่มือเริ่มต้นใช้งาน

ตอนนี้เราได้ตั้งค่าทุกอย่างแล้ว ไปที่การแกะกล่องchainlink-mix ของบราวนี่. นี่คือเทมเพลตสำเร็จรูปสำหรับการใช้สัญญาอัจฉริยะของ Chainlink หากต้องการทราบข้อมูลเพิ่มเติมสามารถอ่านได้ที่วิธีปรับใช้สัญญาอัจฉริยะบนบล็อกเชนโดยใช้ python ในบล็อกโพสต์ของเรา。

ในการใช้ mainnet หรือ testnet ของ Binance Smart Chain โดยปกติแล้วจำเป็นต้องใช้โทเค็น BNB ซึ่งคล้ายกับการใช้ ETH บน Ethereum blockchain เมื่อใช้งานสัญญาอัจฉริยะ จำเป็นต้องใช้โทเค็น BNB

เราจะทำทุกอย่างในพื้นที่ 100% ดังนั้นคุณไม่จำเป็นต้องมีโทเค็น testnet เช่น ETH, LINK หรือ BNB เพื่อเริ่มต้น

ขั้นแรก เราต้องสร้างโครงการผสมบราวนี่:

brownie bake chainlink-mixcd

chainlink

ตอนนี้เราเข้าสู่โครงการ ถ้าเราเรียกใช้คำสั่ง ls เราจะเห็นเนื้อหาของไดเร็กทอรี

  • สร้าง: นี่คือโฟลเดอร์ที่โครงการใช้เพื่อติดตามสัญญาอัจฉริยะที่ปรับใช้และสัญญาที่รวบรวม

  • สัญญา: ซอร์สโค้ดของสัญญา มักเขียนด้วยภาษา Solidity หรือ Vyper

  • อินเทอร์เฟซ: โฟลเดอร์อินเทอร์เฟซที่จำเป็นในการโต้ตอบกับสัญญาที่ปรับใช้ การโต้ตอบกับสัญญาทุกครั้งต้องมี ABI และที่อยู่ตามสัญญา อินเทอร์เฟซเป็นวิธีที่ดีในการรับ ABI ของสัญญา

  • สคริปต์: สคริปต์ที่เราสร้างขึ้นเพื่อทำให้กระบวนการทำสัญญาเป็นไปโดยอัตโนมัติ

  • การทดสอบ: การทดสอบ

  • brownie-config.yaml: ไฟล์นี้ให้ข้อมูลทั้งหมดที่ Brownie ต้องการเพื่อทำความเข้าใจวิธีปฏิบัติต่อสัญญาอัจฉริยะของเรา เราต้องการปรับใช้เครือข่าย blockchain ใด เราต้องตั้งค่าอะไรเป็นพิเศษไหมครับ? ทุกสิ่งเหล่านี้ถูกตั้งค่าไว้ในไฟล์คอนฟิกูเรชันนี้

requirements.txt , README.md , LICENSE ,และไฟล์เช่น .gitignore สามารถละเว้นได้ คุณจะได้เรียนรู้ว่าพวกมันใช้ทำอะไรในระหว่างแบบฝึกหัด

ชื่อเรื่องรอง

เพิ่มเครือข่ายแยก

ในการใช้ Binance Chain เราจำเป็นต้องมีลิงค์ Remote Procedure Call (RPC)หรือสนามเจ้าภาพ. นี่คือการเชื่อมต่อที่ทำการเรียก API เพื่อเชื่อมต่อกับ Binance Smart Chain คุณสามารถเรียกใช้เหรียญของคุณเองได้หากสนใจโหนดสมาร์ทเชนและเชื่อมต่อกับโหนดนั้น

เราสามารถพบได้ในเอกสารสำหรับ Binance Chainลิงค์ RPC เราต้องการ ChainID ด้วย ตอนนี้เราใช้สิ่งต่อไปนี้:

host=https://bsc-dataseed.binance.org/ chainid=56

สุดท้าย เราต้องการที่อยู่สัญญาเฉพาะสำหรับฟีดราคา Chainlink ที่จะใช้ โครงการ chainlink-mix ของ Brownie ติดตั้งไว้ล่วงหน้าพร้อมกับฟีดราคา Binance ETH/USD แต่ถ้าคุณต้องการรายการฟีดราคา Chainlink ทั้งหมดใน Binance คุณสามารถตรวจสอบเอกสาร Binance หรือ Chainlink สำหรับข้อมูลเพิ่มเติม เมื่อดูที่ไฟล์ brownie-config.yaml คุณจะเห็นส่วนที่เรียกว่า binance-fork ในฟิลด์เครือข่าย นี่คือตัวแปรทั้งหมดที่เราต้องใช้ Binance fork chain

ตอนนี้เรากำลังจะบอก Brownie ให้เชื่อมต่อกับ Binance Chain แต่เรากำลังจะแยกห่วงโซ่ การ Forking chain หมายถึงการคัดลอก chain และเรียกใช้ในเครื่อง ดังนั้นเราจึงไม่ต้องจ่ายค่าธรรมเนียมใดๆ และสามารถทำซ้ำได้อย่างรวดเร็วในการทดสอบ แต่นี่ก็หมายความว่าเมื่อห่วงโซ่ที่แยกออกจากกันออฟไลน์ ข้อมูลทั้งหมดจะถูกลบ! เราสามารถเพิ่มทางแยกของ Binance Chain ไปยังเครือข่าย Brownie ด้วยคำสั่งต่อไปนี้:

สิ่งนี้จะเรียกใช้โซ่ ganache-cli บนพอร์ต 8545 ของ localhost จะใช้เมื่อปรับใช้https://bsc-dataseed1.binance.orgเป็นแหล่งที่มาของส้อม หากทำถูกต้อง คุณจะเห็นสิ่งนี้:

ชื่อเรื่องรอง

ปรับใช้สัญญา

เมื่อตั้งค่าทุกอย่างแล้ว เราสามารถปรับใช้และอ่านสัญญาบน ganache fork ในเครื่องได้ มีอยู่ scriptsโฟลเดอร์ มีไฟล์deploy_price_consumer_v3.pyสคริปต์ เราสามารถรันได้ด้วยคำสั่งดังนี้



คุณควรเห็นผลลัพธ์ที่คล้ายกับต่อไปนี้

ดังนั้นเราจึงได้ทำ:

  1. แยก Binance Chain และเรียกใช้ในเครื่อง

  2. ปรับใช้สัญญาอัจฉริยะกับมัน

  3. และอ่านราคาของ ETH จากมัน

The current price of ETH is 135462000000

ชื่อเรื่องรอง

ไกลออกไป

ตอนนี้คุณรู้วิธีปรับใช้สัญญาอัจฉริยะโดยใช้ Binance Smart Chain แล้ว คุณยังสามารถเจาะลึกลงไปใน BSC หรือใช้ sidechains อื่นๆ เช่น Matic, xDai และเครือข่าย Layer 2 อื่นๆ หากคุณชอบเฟรมเวิร์กของ Hardhat และ Truffle ให้ดูว่าคุณสามารถดำเนินการคำสั่ง ganache-cli ในเฟรมเวิร์กเหล่านั้นและรันการทดสอบในเครื่องได้หรือไม่ มีงานแฮ็กกาธอนมากมายที่กำลังจะเกิดขึ้น ดังนั้นอย่าลืมเข้าร่วมเพื่อโอกาสในการร่วมมือกับผู้มีความสามารถคนอื่นๆ ในสาขานี้ คว้ารางวัล และพัฒนาตัวเองในฐานะนักพัฒนาสัญญาอัจฉริยะตัวจริง

หากคุณต้องการขยายการทำงานของสัญญาอัจฉริยะต่อไป โปรดไปที่เอกสารสำหรับนักพัฒนา Chainlinkและเข้าร่วมDiscordการอภิปรายทางเทคนิคใน. หากคุณสร้างโครงการเจ๋งๆ โดยใช้ Binance Smart Chain, Brownie, Truffle, Hardhat หรือการรวม Chainlink อื่นๆ อย่าลืมแท็กเรา @chainlink เพื่อให้เราได้เห็นผลงานที่ยอดเยี่ยมที่คุณทำ!

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