Analisis Teknologi Mesin Oracle Chainlink: Jembatan yang Menghubungkan smart contract dengan Dunia Nyata

robot
Pembuatan abstrak sedang berlangsung

Analisis Teknologi Mesin Oracle: Contoh Chainlink

Mesin Oracle adalah infrastruktur dasar yang penting dalam bidang blockchain, yang fungsi utamanya adalah menyediakan data eksternal untuk kontrak pintar. Sebagai jembatan yang menghubungkan kontrak pintar dan dunia nyata, mesin oracle memainkan peran yang tak tergantikan dalam ekosistem blockchain.

Sebagai contoh, jika kita menerapkan kontrak pintar di Ethereum yang perlu mendapatkan volume perdagangan minyak mentah pada tanggal tertentu, karena kontrak itu sendiri tidak dapat mengakses data luar rantai secara langsung, maka kita perlu menggunakan Mesin Oracle. Proses spesifiknya adalah: kontrak pintar mencatat informasi yang diperlukan ke dalam log acara, proses di luar rantai mendengarkan dan merespons permintaan ini, lalu mengirimkan data yang diperlukan ke kontrak pintar melalui transaksi di dalam rantai.

Mesin Oracle详解系列之 Chainlink(上)

Di antara banyak proyek Mesin Oracle, Chainlink menonjol dengan karakteristik desentralisasi dan pangsa pasar yang signifikan. Chainlink membangun mekanisme insentif ekonomi melalui token LINK, menciptakan ekosistem yang saling menguntungkan. Fitur inti dari sistem ini adalah pola permintaan/respons yang berbasis token LINK.

Mesin Oracle

Chainlink menggunakan standar ERC677, yang merupakan perluasan dari ERC20, menambahkan metode transferAndCall. Metode ini menggabungkan pembayaran dan permintaan layanan, lebih baik memenuhi kebutuhan bisnis Mesin Oracle. Ketika pengguna memanggil transferAndCall untuk melakukan transfer, selain transfer ERC20 biasa, juga akan memicu metode onTokenTransfer dari kontrak penerima.

Mesin Oracle详解系列之 Chainlink(上)

Dalam kontrak oracle Chainlink, metode onTokenTransfer terlebih dahulu akan melakukan serangkaian pemeriksaan keamanan, termasuk memverifikasi token yang ditransfer, panjang data, dan pemilih fungsi, dll. Setelah pemeriksaan, kontrak akan menghasilkan requestId yang unik, mengatur waktu kedaluwarsa, dan memicu peristiwa OracleRequest. Peristiwa ini mencakup rincian permintaan, seperti format data, alamat callback, dll.

Setelah node off-chain mendengarkan peristiwa OracleRequest, ia akan menganalisis informasi permintaan, mendapatkan data yang diperlukan melalui API, dan kemudian memanggil metode fulfillOracleRequest dari kontrak oracle untuk mengirimkan data ke blockchain. Metode ini akan melakukan serangkaian verifikasi, kemudian memanggil fungsi callback dari kontrak peminta, menyelesaikan seluruh proses layanan mesin oracle.

Mesin Oracle详解系列之 Chainlink(上)

Untuk pengembang, Chainlink juga menyediakan layanan mesin oracle harga yang lebih mudah. Setiap pasangan perdagangan memiliki Price Feed (yaitu AggregatorProxy) yang sesuai, pengembang dapat langsung memanggil kontrak ini untuk mendapatkan data harga terbaru, tanpa perlu menentukan URL sumber data sendiri. Dalam sebagian besar skenario aplikasi, cukup memanggil metode latestRoundData() untuk mendapatkan harga terbaru.

Perlu dicatat bahwa pasangan perdagangan yang dihargai dalam USD biasanya memiliki akurasi harga yang diseragamkan menjadi 8 digit, yang menyederhanakan proses penanganan harga berbagai token.

Mesin Oracle

Lihat Asli
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
  • Hadiah
  • 4
  • Bagikan
Komentar
0/400
GweiObservervip
· 07-12 21:49
link benar-benar menjanjikan!
Lihat AsliBalas0
AirdropHunterXMvip
· 07-12 21:43
Masih berharap untuk kaya dengan link ya!
Lihat AsliBalas0
probably_nothing_anonvip
· 07-12 21:40
Duduk menunggu LINK ke bulan, ayo berangkat!
Lihat AsliBalas0
MemeCuratorvip
· 07-12 21:31
link memang bull
Lihat AsliBalas0
  • Sematkan
Perdagangkan Kripto Di Mana Saja Kapan Saja
qrCode
Pindai untuk mengunduh aplikasi Gate
Komunitas
Bahasa Indonesia
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)