Mesin Oracle: Jembatan yang menghubungkan Blockchain dan dunia nyata
Dalam teknologi blockchain, Mesin Oracle memainkan peran infrastruktur yang sangat penting. Ini adalah sistem yang dapat menyediakan informasi eksternal untuk kontrak pintar di blockchain, berfungsi sebagai middleware antara blockchain dan dunia luar. Fungsi utama Mesin Oracle adalah menyediakan data eksternal yang dibutuhkan untuk kontrak pintar di blockchain.
Sebagai contoh, misalkan kita membuat kontrak pintar di jaringan Ethereum yang memerlukan data volume perdagangan minyak mentah untuk suatu hari. Karena kontrak pintar itu sendiri tidak dapat secara langsung mendapatkan data dunia nyata yang ada di luar rantai, maka diperlukan Mesin Oracle untuk mewujudkannya. Dalam kasus ini, kontrak pintar akan menuliskan data volume perdagangan minyak mentah yang diperlukan ke dalam log peristiwa. Selanjutnya, proses di luar rantai akan diluncurkan untuk memantau dan berlangganan log peristiwa ini. Ketika permintaan dalam perdagangan terdeteksi, proses tersebut akan mengajukan transaksi di dalam rantai, memanggil metode terkait kontrak, dan mengunggah informasi volume perdagangan minyak mentah untuk tanggal yang ditentukan ke dalam kontrak pintar.
Chainlink: Pemimpin Mesin Oracle Blockchain
Di bidang Mesin Oracle, Chainlink adalah proyek dengan pangsa pasar terbesar. Sebagai solusi Mesin Oracle terdesentralisasi, tujuan Chainlink adalah menyediakan data yang dihasilkan di dunia nyata ke Blockchain dengan cara yang paling aman. Berdasarkan prinsip dasar Mesin Oracle, Chainlink membangun ekosistem di sekitar token LINK yang membentuk siklus positif melalui insentif ekonomi.
Pemicu Mesin Oracle Chainlink membutuhkan transfer token LINK untuk diaktifkan. LINK adalah token kontrak ERC677 yang berbasis pada jaringan Ethereum. Fungsi Mesin Oracle yang diselesaikan menggunakan token LINK ERC677 termasuk dalam mode permintaan/respons.
transferAndCall dalam token ERC677
Standar ERC677 adalah yang diusulkan oleh Chainlink untuk menyesuaikan dengan skenario layanan Mesin Oracle. Ini menambahkan metode transferAndCall di atas standar ERC20, menggabungkan pembayaran dan permintaan layanan menjadi satu, memenuhi kebutuhan skenario bisnis Mesin Oracle.
Ketika pengguna menggunakan transferAndCall untuk melakukan transfer, selain transfer ERC20 biasa, juga akan memeriksa apakah alamat penerima adalah alamat kontrak. Jika ya, maka akan memanggil metode onTokenTransfer dari alamat tersebut. Perlu dicatat bahwa sebelum meminta layanan Mesin Oracle, pengguna harus terlebih dahulu memastikan kredibilitas Mesin Oracle tersebut, karena layanan Mesin Oracle memerlukan pembayaran di muka.
Proses permintaan mesin oracle di blockchain
Ketika konsumen Mesin Oracle menggunakan metode transferAndCall untuk membayar biaya dan meminta layanan, metode onTokenTransfer dalam kontrak Mesin Oracle akan melakukan serangkaian pemeriksaan keamanan terlebih dahulu. Ini termasuk memverifikasi apakah transfer adalah token LINK, memeriksa apakah panjang data melebihi batas, memverifikasi apakah data mengandung pemilih fungsi yang benar, dan lain-lain.
Setelah melewati pemeriksaan keamanan, kontrak akan menghasilkan sebuah requestId yang unik, dan mengatur waktu kedaluwarsa permintaan. Terakhir, kontrak akan mengeluarkan sebuah peristiwa OracleRequest, yang berisi data rinci tentang permintaan tersebut.
Mekanisme Respons Node Off-Chain
Node off-chain setelah menerima peristiwa OracleRequest, akan menganalisis informasi spesifik dari permintaan, melalui panggilan API jaringan untuk mendapatkan data yang diperlukan. Selanjutnya, node akan memanggil metode fulfillOracleRequest, untuk mengirimkan data ke dalam blockchain.
Metode ini akan melakukan serangkaian verifikasi, termasuk memeriksa apakah pemanggil diizinkan, memvalidasi keabsahan permintaan, dan sebagainya. Setelah verifikasi berhasil, kontrak akan mencatat jumlah token yang dapat ditarik, dan menghapus requestId dari pemetaan commitments. Terakhir, kontrak akan memanggil fungsi callback kontrak pemohon, mengembalikan data kepada konsumen.
Harga Mesin Oracle yang Sebenarnya
Bagi pengembang, jika hanya perlu menggunakan data harga pasangan koin yang sudah ada, Anda dapat langsung menggunakan antarmuka Price Feed yang disediakan oleh Chainlink. Setiap pasangan perdagangan memiliki Price Feed ( yang terpisah yang juga disebut sebagai Aggregator ), yang sebenarnya adalah kontrak AggregatorProxy.
Antarmuka ini biasanya menyediakan beberapa metode kueri berikut:
decimals(): Mengembalikan jumlah desimal dari data harga
description(): Kembalikan nama pasangan perdagangan
version(): Menandai jenis Aggregator yang ditunjuk oleh Proxy
getRoundData(_roundId): Mendapatkan data harga untuk putaran tertentu
latestRoundData(): Dapatkan data harga terbaru
Dalam sebagian besar skenario aplikasi, kontrak mungkin hanya perlu membaca harga terbaru, yaitu dengan memanggil metode latestRoundData(). Parameter answer yang dikembalikan adalah harga terbaru.
Perlu dicatat bahwa sebagian besar aplikasi membaca harga token dalam satuan USD. Dalam hal ini, presisi biasanya disatukan menjadi 8 digit, yang menyederhanakan masalah pengolahan presisi antar token yang berbeda.
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.
5 Suka
Hadiah
5
7
Bagikan
Komentar
0/400
nft_widow
· 13jam yang lalu
Mesin Oracle luar biasa 这不就能横着走了!
Lihat AsliBalas0
CountdownToBroke
· 13jam yang lalu
hanya pengunjung di atas rantai
Lihat AsliBalas0
BlockchainBouncer
· 13jam yang lalu
Gaga, datang lagi untuk menjelaskan mekanisme Mesin Oracle!
Lihat AsliBalas0
StakeTillRetire
· 13jam yang lalu
Mesin Oracle ini benar-benar menarik. Smart contract saya tidak bisa tanpanya.
Lihat AsliBalas0
FUD_Whisperer
· 14jam yang lalu
Kontrak makanan pun tidak bisa dibeli lagi.
Lihat AsliBalas0
HalfPositionRunner
· 14jam yang lalu
Data minyak goreng ini bergantung pada Mesin Oracle untuk diselamatkan
Bagaimana Mesin Oracle menjadi jembatan data antara Blockchain dan dunia nyata
Mesin Oracle: Jembatan yang menghubungkan Blockchain dan dunia nyata
Dalam teknologi blockchain, Mesin Oracle memainkan peran infrastruktur yang sangat penting. Ini adalah sistem yang dapat menyediakan informasi eksternal untuk kontrak pintar di blockchain, berfungsi sebagai middleware antara blockchain dan dunia luar. Fungsi utama Mesin Oracle adalah menyediakan data eksternal yang dibutuhkan untuk kontrak pintar di blockchain.
Sebagai contoh, misalkan kita membuat kontrak pintar di jaringan Ethereum yang memerlukan data volume perdagangan minyak mentah untuk suatu hari. Karena kontrak pintar itu sendiri tidak dapat secara langsung mendapatkan data dunia nyata yang ada di luar rantai, maka diperlukan Mesin Oracle untuk mewujudkannya. Dalam kasus ini, kontrak pintar akan menuliskan data volume perdagangan minyak mentah yang diperlukan ke dalam log peristiwa. Selanjutnya, proses di luar rantai akan diluncurkan untuk memantau dan berlangganan log peristiwa ini. Ketika permintaan dalam perdagangan terdeteksi, proses tersebut akan mengajukan transaksi di dalam rantai, memanggil metode terkait kontrak, dan mengunggah informasi volume perdagangan minyak mentah untuk tanggal yang ditentukan ke dalam kontrak pintar.
Chainlink: Pemimpin Mesin Oracle Blockchain
Di bidang Mesin Oracle, Chainlink adalah proyek dengan pangsa pasar terbesar. Sebagai solusi Mesin Oracle terdesentralisasi, tujuan Chainlink adalah menyediakan data yang dihasilkan di dunia nyata ke Blockchain dengan cara yang paling aman. Berdasarkan prinsip dasar Mesin Oracle, Chainlink membangun ekosistem di sekitar token LINK yang membentuk siklus positif melalui insentif ekonomi.
Pemicu Mesin Oracle Chainlink membutuhkan transfer token LINK untuk diaktifkan. LINK adalah token kontrak ERC677 yang berbasis pada jaringan Ethereum. Fungsi Mesin Oracle yang diselesaikan menggunakan token LINK ERC677 termasuk dalam mode permintaan/respons.
transferAndCall dalam token ERC677
Standar ERC677 adalah yang diusulkan oleh Chainlink untuk menyesuaikan dengan skenario layanan Mesin Oracle. Ini menambahkan metode transferAndCall di atas standar ERC20, menggabungkan pembayaran dan permintaan layanan menjadi satu, memenuhi kebutuhan skenario bisnis Mesin Oracle.
Ketika pengguna menggunakan transferAndCall untuk melakukan transfer, selain transfer ERC20 biasa, juga akan memeriksa apakah alamat penerima adalah alamat kontrak. Jika ya, maka akan memanggil metode onTokenTransfer dari alamat tersebut. Perlu dicatat bahwa sebelum meminta layanan Mesin Oracle, pengguna harus terlebih dahulu memastikan kredibilitas Mesin Oracle tersebut, karena layanan Mesin Oracle memerlukan pembayaran di muka.
Proses permintaan mesin oracle di blockchain
Ketika konsumen Mesin Oracle menggunakan metode transferAndCall untuk membayar biaya dan meminta layanan, metode onTokenTransfer dalam kontrak Mesin Oracle akan melakukan serangkaian pemeriksaan keamanan terlebih dahulu. Ini termasuk memverifikasi apakah transfer adalah token LINK, memeriksa apakah panjang data melebihi batas, memverifikasi apakah data mengandung pemilih fungsi yang benar, dan lain-lain.
Setelah melewati pemeriksaan keamanan, kontrak akan menghasilkan sebuah requestId yang unik, dan mengatur waktu kedaluwarsa permintaan. Terakhir, kontrak akan mengeluarkan sebuah peristiwa OracleRequest, yang berisi data rinci tentang permintaan tersebut.
Mekanisme Respons Node Off-Chain
Node off-chain setelah menerima peristiwa OracleRequest, akan menganalisis informasi spesifik dari permintaan, melalui panggilan API jaringan untuk mendapatkan data yang diperlukan. Selanjutnya, node akan memanggil metode fulfillOracleRequest, untuk mengirimkan data ke dalam blockchain.
Metode ini akan melakukan serangkaian verifikasi, termasuk memeriksa apakah pemanggil diizinkan, memvalidasi keabsahan permintaan, dan sebagainya. Setelah verifikasi berhasil, kontrak akan mencatat jumlah token yang dapat ditarik, dan menghapus requestId dari pemetaan commitments. Terakhir, kontrak akan memanggil fungsi callback kontrak pemohon, mengembalikan data kepada konsumen.
Harga Mesin Oracle yang Sebenarnya
Bagi pengembang, jika hanya perlu menggunakan data harga pasangan koin yang sudah ada, Anda dapat langsung menggunakan antarmuka Price Feed yang disediakan oleh Chainlink. Setiap pasangan perdagangan memiliki Price Feed ( yang terpisah yang juga disebut sebagai Aggregator ), yang sebenarnya adalah kontrak AggregatorProxy.
Antarmuka ini biasanya menyediakan beberapa metode kueri berikut:
Dalam sebagian besar skenario aplikasi, kontrak mungkin hanya perlu membaca harga terbaru, yaitu dengan memanggil metode latestRoundData(). Parameter answer yang dikembalikan adalah harga terbaru.
Perlu dicatat bahwa sebagian besar aplikasi membaca harga token dalam satuan USD. Dalam hal ini, presisi biasanya disatukan menjadi 8 digit, yang menyederhanakan masalah pengolahan presisi antar token yang berbeda.