Bagaimana Cara Membangun Oracle Anda Sendiri Menggunakan Kontrak Cerdas Ethereum? Kecerdasan Data PlatoBlockchain. Pencarian Vertikal. Ai.

Bagaimana Cara Membangun Oracle Anda Sendiri Menggunakan Kontrak Cerdas Ethereum?

Waktu Baca: 5 menit

Ethereum adalah blockchain pertama yang mewarisi kualitas pembuatan dapps, memperdagangkan aset kripto di blockchain, dan sebagainya.

Ini memiliki bahasa pemrograman untuk menulis kontrak pintar dan mengimplementasikannya pada mesin virtual Ethereum untuk menanamkan desentralisasi dalam melakukan aktivitas. 

Kontrak pintar menjalankan baris kode yang telah ditentukan sebelumnya dan memenuhi tugas yang dimaksud. Tetapi bagaimana jika kita ingin membuat kontrak pintar berfungsi berdasarkan hasil real-time yang terjadi?

Untuk mencapai ini, kita perlu memahami konsep oracle blockchain di mana kontrak pintar dapat menerima input dari dunia nyata. 

Apa itu oracle di crypto, dan bagaimana cara membuat oracle di kontrak Ethereum Smart? Kami akan membahas ini secara rinci di bagian berikut. 

Topik Utama Blog

  • Apa itu oracle kripto, dan bagaimana oracle bekerja
  • Berbagai jenis oracle
  • Aliran data dari oracle ke kontrak pintar Ethereum
  • Cara membuat kode oracle Ethereum
  • Masalah dengan crypto oracle

Apa Itu Oracle, dan Mengapa Dibutuhkan?

Orakel adalah entitas yang bertindak sebagai jembatan yang menghubungkan blockchain dengan sistem eksternal. Dengan kata lain, oracle menyediakan data peristiwa off-chain ke kontrak pintar untuk melakukan tindakan berdasarkan input.

Misalnya, dalam acara taruhan, pengguna diizinkan untuk bertaruh pada pemain yang mereka pikir akan memenangkan pertandingan. Berdasarkan kejadian waktu nyata, hadiah dibagikan kepada pengguna yang bertaruh pada pemenang. 

Oracle Blockchain membantu melengkapi data tentang pemenang ke kontrak pintar. Aliran data di oracle bersifat dua arah dan dapat digunakan untuk menerjemahkan data waktu nyata apa pun dari laporan cuaca ke status pasar saham hingga kontrak pintar. 

Setiap node di blockchain Ethereum memiliki informasi tentang transaksi, yang seharusnya seragam. Oleh karena itu, mengambil data dari API dapat mengakibatkan perbedaan. Sebaliknya, oracle memuat data di blockchain, yang secara permanen tampak sama di semua node.

Oracle Blockchain
Oracle Blockchain

Bagaimana Cara Mengakses Data Dari Oracle?

Kontrak pintar menggunakan siklus permintaan-dan-tanggapan untuk mendapatkan informasi dari node oracle. Oracle yang diimplementasikan dengan HTTP GET akan menerima permintaan dari kontrak pintar, dan fungsi panggilan balik dapat mengambil data yang diminta dari oracle. 

Dengan cara ini, data dikumpulkan oleh kontrak pintar dari oracle. Setiap oracle dikonfigurasikan untuk memberikan informasi spesifik, dan Anda dapat mencari layanan pihak ketiga untuk memperoleh data yang Anda cari. 

Berikut adalah beberapa layanan oracle

  • Rantai
  • Terbukti
  • witnet
  • Paralink dan sebagainya.

Klasifikasi Oracle

Oracle dikategorikan ke dalam berbagai jenis tergantung pada pengambilan, validasi, dan transfer data. 

orakel masukan: Jenis yang paling dikenal luas di mana data diambil secara off-chain dari kejadian waktu nyata. Untuk mantan Umpan harga pada saham diperoleh dari off-chain untuk memicu tindakan pada kontrak pintar berdasarkan kondisi pasar keuangan.

Oracle keluaran: Kebalikan dari input oracle di mana kontrak pintar memprovokasi oracle untuk melakukan tindakan. Untuk mantan Kirim sinyal ke penyedia penyimpanan untuk menyimpan data atau memulai jaringan bank untuk melakukan pembayaran.

Oracle lintas rantai: Oracle lintas rantai memfasilitasi membaca dan menulis data pada blockchain yang berbeda. Ini juga memungkinkan untuk memicu peristiwa di satu blockchain dan membuatnya beroperasi di yang lain. 

Oracle yang mendukung komputasi: Oracle yang mendukung komputasi memanfaatkan komputasi off-chain untuk menyediakan layanan. Terutama ketika on-chain tidak dapat diandalkan karena kendala teknis atau keuangan, oracle jenis ini digunakan.

Pengambilan Data Dari Oracle

Langkah 1: Kontrak pintar mengirimkan kueri ke oracle.

Langkah 2: Kueri diarahkan ke pembawa data, yang mencari data dari sumber data

Langkah 3: Data berasal dari sumber dan diumpankan ke oracle.

Langkah 4: Oracle mengirimkan respons ke kontrak pintar seperti yang diminta. 

Membuat Oracle Dalam Kontrak Cerdas Ethereum โ€“ Struktur Kode

Kita akan mengetahui cara kerja oracle dalam menentukan harga Bitcoin saat ini dalam USD menggunakan layanan oracle bernama Provable. 

pragma solidity >= 0.5.0 < 0.6.0; //Declaring the Solidity version import "github.com/provable-things/ethereum-api/provableAPI.sol"; //Importing latest version of provable API contract BitcoinPrice is usingProvable { //Contract named BitcoinPrice, UsingProvable refers to the API uint public bitcoinPriceUSD; //bitcoinPriceUSD is the variable created to store the price, Provable query event that makes a constructor event LogNewBitcoinPrice(string price); event LogNewProvableQuery(string description); constructor() public { update(); } // callback function to call the smart contract after the output is received and transfers the result from callback function to the variable assigned function __callback( bytes32 _myid, string memory _result ) public { require(msg.sender == provable_cbAddress()); emit LogNewBitcoinPrice(_result); BitcoinPriceUSD = parseInt(_result, 2); // Let's save it as cents... } //passing output string and API string to fetch bitcoin price to our constructor function update() public payable { emit LogNewProvableQuery("Provable query was sent, standing by for the answer..."); provable_query("URL", "xml("https://min-api.cryptocompare.com/data/generateAvg?fsym=BTC&tsym=USD&e=Kraken" ); } } 

Masalah Oracle

Masalah Oracle pada dasarnya adalah konflik antara kontrak pintar tanpa kepercayaan dan oracle pihak ketiga yang tepercaya, mengingat keamanan dan keaslian data dari pihak ketiga.

Kontrak pintar bergantung pada nubuat untuk membuat keputusan terkait pelaksanaannya, memberi mereka kekuatan besar atas fungsinya. Faktanya, sifat kontrak pintar yang terdesentralisasi dipertanyakan. 

Namun, layanan oracle seperti ChainLink dan Oraclize berfungsi sebagai solusi terdesentralisasi yang memperoleh data berdasarkan metode baru dan terautentikasi. Dengan demikian, data yang diperoleh melalui cara desentralisasi.  

Kesimpulan

Konektivitas blockchain dengan dunia nyata dapat diterima secara signifikan untuk lompatan ke depan menuju dunia yang terdesentralisasi. Oracle menawarkan solusi untuk antarmuka kontrak pintar yang andal dengan data waktu nyata. 

Namun, untuk mewujudkan keberlanjutan, kemajuan dibuat oleh layanan oracle untuk menanamkan keamanan dan kebenaran data yang diperoleh secara off-chain. 

Ingin tetap lebih relevan dengan Keamanan Web3?

Mengikuti QuillAudit untuk banyak artikel terbaru tentang Web3.

23 views

Pos Bagaimana Cara Membangun Oracle Anda Sendiri Menggunakan Kontrak Cerdas Ethereum? muncul pertama pada Blog.quillhash.

Stempel Waktu:

Lebih dari Quillhash