Mesin Oracle adalah infrastruktur dasar yang sangat penting di dunia blockchain, yang dapat menyediakan data eksternal untuk kontrak pintar. Sebagai jembatan yang menghubungkan kontrak pintar dan dunia nyata, mesin oracle memainkan peran yang sangat penting dalam ekosistem blockchain.
Smart contract itu sendiri tidak dapat mengakses data di luar rantai, sehingga membutuhkan Mesin Oracle untuk menjalankan fungsi ini. Misalnya, jika smart contract di Ethereum memerlukan data volume perdagangan minyak mentah pada suatu hari, ia akan menuliskan permintaan tersebut ke dalam log peristiwa. Kemudian, proses luar rantai akan mendengarkan log tersebut dan mengunggah data yang diperlukan ke dalam smart contract dengan memanggil metode kontrak.
Chainlink adalah proyek mesin oracle terdesentralisasi dengan pangsa pasar terbesar saat ini. Ini membangun ekosistem yang didorong oleh insentif ekonomi melalui token LINK, memastikan data dunia nyata disediakan ke blockchain dengan cara yang paling aman. Pemicu mesin oracle Chainlink memerlukan transfer token LINK untuk terlaksana, yang termasuk dalam mode permintaan/respons.
Token LINK adalah token yang berdasarkan standar ERC677, yang menambahkan metode transferAndCall di atas ERC20. Metode ini menggabungkan pembayaran dan permintaan layanan menjadi satu, yang lebih baik memenuhi kebutuhan bisnis Mesin Oracle. Ketika pengguna melakukan transfer menggunakan transferAndCall, selain operasi transfer, juga akan memanggil metode onTokenTransfer di alamat penerima.
Metode onTokenTransfer dari kontrak Mesin Oracle akan melakukan serangkaian pemeriksaan keamanan, termasuk memverifikasi apakah token yang ditransfer adalah LINK, memeriksa apakah panjang data melebihi batas, memverifikasi pemilih fungsi, dan lain-lain. Setelah pemeriksaan, akan memanggil metode oracleRequest dari kontrak oracle melalui deleGatecall.
Metode oracleRequest akan menghasilkan requestId yang unik, mengatur waktu kedaluwarsa, dan memicu peristiwa OracleRequest. Peristiwa ini berisi data permintaan, biasanya dalam format data biner CBOR.
Setelah node off-chain mendengarkan kejadian OracleRequest, ia akan menguraikan informasi permintaan spesifik, memanggil API untuk mendapatkan hasil, kemudian memanggil metode fulfillOracleRequest untuk mengirimkan data ke blockchain. Metode ini, setelah serangkaian verifikasi, akan memanggil fungsi callback dari kontrak pemohon, mengembalikan hasil kepada kontrak konsumen.
Bagi pengembang, Chainlink juga menyediakan antarmuka Price Feed yang lebih sederhana. Setiap pasangan perdagangan memiliki kontrak AggregatorProxy yang menyediakan beberapa metode sederhana untuk mengquery harga. Metode latestRoundData() dapat digunakan untuk langsung mendapatkan data harga terbaru tanpa perlu menentukan API atau pengaturan rumit lainnya.
Secara keseluruhan, Chainlink menyediakan kemampuan akses data eksternal yang mudah dan terpercaya untuk kontrak pintar melalui token LINK dan arsitektur kontrak yang dirancang dengan cermat, sambil memastikan keamanan, mendorong perkembangan lebih lanjut ekosistem blockchain.
Halaman ini mungkin berisi konten pihak ketiga, yang disediakan untuk tujuan informasi saja (bukan pernyataan/jaminan) dan tidak boleh dianggap sebagai dukungan terhadap pandangannya oleh Gate, atau sebagai nasihat keuangan atau profesional. Lihat Penafian untuk detailnya.
Chainlink: jembatan antara smart contract dan dunia nyata
Prinsip Mesin Oracle dan Pengenalan Chainlink
Mesin Oracle adalah infrastruktur dasar yang sangat penting di dunia blockchain, yang dapat menyediakan data eksternal untuk kontrak pintar. Sebagai jembatan yang menghubungkan kontrak pintar dan dunia nyata, mesin oracle memainkan peran yang sangat penting dalam ekosistem blockchain.
Smart contract itu sendiri tidak dapat mengakses data di luar rantai, sehingga membutuhkan Mesin Oracle untuk menjalankan fungsi ini. Misalnya, jika smart contract di Ethereum memerlukan data volume perdagangan minyak mentah pada suatu hari, ia akan menuliskan permintaan tersebut ke dalam log peristiwa. Kemudian, proses luar rantai akan mendengarkan log tersebut dan mengunggah data yang diperlukan ke dalam smart contract dengan memanggil metode kontrak.
Chainlink adalah proyek mesin oracle terdesentralisasi dengan pangsa pasar terbesar saat ini. Ini membangun ekosistem yang didorong oleh insentif ekonomi melalui token LINK, memastikan data dunia nyata disediakan ke blockchain dengan cara yang paling aman. Pemicu mesin oracle Chainlink memerlukan transfer token LINK untuk terlaksana, yang termasuk dalam mode permintaan/respons.
Token LINK adalah token yang berdasarkan standar ERC677, yang menambahkan metode transferAndCall di atas ERC20. Metode ini menggabungkan pembayaran dan permintaan layanan menjadi satu, yang lebih baik memenuhi kebutuhan bisnis Mesin Oracle. Ketika pengguna melakukan transfer menggunakan transferAndCall, selain operasi transfer, juga akan memanggil metode onTokenTransfer di alamat penerima.
Metode onTokenTransfer dari kontrak Mesin Oracle akan melakukan serangkaian pemeriksaan keamanan, termasuk memverifikasi apakah token yang ditransfer adalah LINK, memeriksa apakah panjang data melebihi batas, memverifikasi pemilih fungsi, dan lain-lain. Setelah pemeriksaan, akan memanggil metode oracleRequest dari kontrak oracle melalui deleGatecall.
Metode oracleRequest akan menghasilkan requestId yang unik, mengatur waktu kedaluwarsa, dan memicu peristiwa OracleRequest. Peristiwa ini berisi data permintaan, biasanya dalam format data biner CBOR.
Setelah node off-chain mendengarkan kejadian OracleRequest, ia akan menguraikan informasi permintaan spesifik, memanggil API untuk mendapatkan hasil, kemudian memanggil metode fulfillOracleRequest untuk mengirimkan data ke blockchain. Metode ini, setelah serangkaian verifikasi, akan memanggil fungsi callback dari kontrak pemohon, mengembalikan hasil kepada kontrak konsumen.
Bagi pengembang, Chainlink juga menyediakan antarmuka Price Feed yang lebih sederhana. Setiap pasangan perdagangan memiliki kontrak AggregatorProxy yang menyediakan beberapa metode sederhana untuk mengquery harga. Metode latestRoundData() dapat digunakan untuk langsung mendapatkan data harga terbaru tanpa perlu menentukan API atau pengaturan rumit lainnya.
Secara keseluruhan, Chainlink menyediakan kemampuan akses data eksternal yang mudah dan terpercaya untuk kontrak pintar melalui token LINK dan arsitektur kontrak yang dirancang dengan cermat, sambil memastikan keamanan, mendorong perkembangan lebih lanjut ekosistem blockchain.