Chainlink: Mesin Oracle bagaimana menghubungkan Blockchain dengan dunia nyata

robot
Pembuatan abstrak sedang berlangsung

Pentingnya Sistem Mesin Oracle dalam Blockchain dan Mekanisme Implementasi Chainlink

Mesin Oracle adalah infrastruktur dasar yang penting dalam bidang Blockchain, yang dapat menyediakan informasi eksternal untuk kontrak pintar di dalam rantai. Sebagai middleware yang menghubungkan kontrak pintar dan dunia luar Blockchain, Mesin Oracle memainkan peran yang sangat penting, dengan fungsi utama untuk menyediakan data bagi kontrak pintar di dalam Blockchain.

Sebagai contoh, jika kita menerapkan sebuah kontrak pintar di jaringan Ethereum yang memerlukan data volume perdagangan minyak mentah pada suatu hari tertentu. Karena kontrak pintar itu sendiri tidak dapat mengakses data dunia nyata di luar rantai secara langsung, maka perlu menggunakan Mesin Oracle untuk mewujudkan fungsi ini. Dalam kasus ini, kontrak pintar akan mencatat volume perdagangan minyak mentah pada tanggal yang diperlukan ke dalam log peristiwa. Selanjutnya, proses di luar rantai akan dimulai untuk memantau dan berlangganan log peristiwa ini. Ketika mendeteksi permintaan dalam transaksi, proses tersebut akan meng-upload informasi volume perdagangan minyak mentah pada tanggal yang ditentukan ke dalam kontrak pintar dengan mengajukan transaksi di dalam rantai dan memanggil metode terkait dari kontrak.

Mesin Oracle

Chainlink adalah proyek Mesin Oracle dengan pangsa pasar terbesar di bidang Blockchain saat ini. Ini adalah sistem Mesin Oracle terdesentralisasi yang dirancang untuk menyediakan data yang dihasilkan di dunia nyata kepada Blockchain dengan cara yang paling aman. Chainlink membangun ekosistem yang didorong oleh insentif ekonomi melalui token LINK berdasarkan prinsip dasar Mesin Oracle. Mesin Oracle Chainlink perlu dipicu melalui transfer token LINK, di mana LINK adalah kontrak ERC677 di jaringan Ethereum. Fungsionalitas Mesin Oracle yang diimplementasikan berdasarkan token LINK ERC677 termasuk dalam mode permintaan/respons.

Mesin Oracle详解系列之 Chainlink(上)

Standar token ERC677 adalah usulan Chainlink untuk memenuhi kebutuhan layanan Mesin Oracle. Ini menambahkan metode transferAndCall di atas standar ERC20, menggabungkan pembayaran dan permintaan layanan menjadi satu. Ketika pengguna melakukan transfer melalui transferAndCall, selain fungsi transfer ERC20, juga akan memeriksa apakah alamat penerima adalah alamat kontrak, jika ya, maka memanggil metode onTokenTransfer di alamat tersebut.

Mesin Oracle

Dalam implementasi Chainlink, ketika konsumen mesin oracle menggunakan metode transferAndCall untuk membayar biaya dan meminta layanan, metode onTokenTransfer dari kontrak oracle akan melakukan serangkaian pemeriksaan keamanan terlebih dahulu. Ini termasuk memverifikasi apakah transfer adalah token LINK, memeriksa apakah panjang data melebihi batas, serta memverifikasi pemilih fungsi, dan lain-lain. Setelah pemeriksaan berhasil, metode oracleRequest dari kontrak oracle saat ini akan dipanggil melalui deleGatecall.

Mesin Oracle

Metode oracleRequest akan menghasilkan sebuah requestId unik, mengatur waktu kedaluwarsa, dan menambahkan informasi terkait ke dalam pemetaan commitments. Yang paling penting, ia akan mengeluarkan sebuah peristiwa OracleRequest, yang berisi data permintaan, menggunakan representasi objek biner ringkas CBOR( dan pengkodean format ).

Mesin Oracle详解系列之 Chainlink(上)

Node di luar rantai akan mendengarkan peristiwa OracleRequest ini. Ketika permintaan baru terdeteksi, node akan menguraikan informasi dalam peristiwa tersebut, mendapatkan data yang diperlukan melalui panggilan API, dan kemudian mengirimkan data ke dalam rantai dengan memanggil metode fulfillOracleRequest dari kontrak oracle. Metode ini akan melakukan serangkaian verifikasi, dan kemudian memanggil fungsi callback dari kontrak peminta, mengembalikan hasilnya kepada kontrak konsumen.

Mesin Oracle

Bagi pengembang, jika hanya perlu menggunakan harga pasangan koin yang sudah ada, dapat langsung menggunakan Price Feed yang disediakan oleh Chainlink ( yang juga disebut sebagai Aggregator ). Setiap pasangan perdagangan memiliki Price Feed tersendiri, yang sebenarnya adalah kontrak AggregatorProxy. Kontrak-kontrak ini menyediakan beberapa metode kueri, termasuk mendapatkan akurasi harga, deskripsi, versi, dan data harga terbaru, dll. Dalam sebagian besar skenario aplikasi, kontrak mungkin hanya perlu membaca harga terbaru, yaitu memanggil metode latestRoundData ().

Mesin Oracle

Perlu dicatat bahwa pasangan perdagangan yang dihargai dalam USD biasanya memiliki akurasi harga yang disatukan menjadi 8 digit, yang menyederhanakan masalah penanganan akurasi antar token yang berbeda. Desain ini memungkinkan pengembang untuk lebih mudah menggunakan data harga waktu nyata dalam kontrak pintar, tanpa perlu menangani panggilan API yang rumit dan konversi format data.

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
  • 7
  • Bagikan
Komentar
0/400
DegenWhisperervip
· 9jam yang lalu
Lian Ke sangat bagus, hanya saja agak mahal.
Lihat AsliBalas0
MidnightSnapHuntervip
· 9jam yang lalu
Chainlink cukup dapat diandalkan ya
Lihat AsliBalas0
HalfPositionRunnervip
· 9jam yang lalu
Merasa link masih harus naik
Lihat AsliBalas0
GweiTooHighvip
· 9jam yang lalu
link sudah naik lagi, kan? Tidak perlu menebak.
Lihat AsliBalas0
SelfRuggervip
· 9jam yang lalu
link bull canggih Beli saja sudah selesai
Lihat AsliBalas0
GweiWatchervip
· 9jam yang lalu
Sungguh enak, harga feed ini memang sangat berguna.
Lihat AsliBalas0
PermabullPetevip
· 9jam yang lalu
link stabil sekali
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)