Oracle Makine teknolojisi detaylı açıklaması: Chainlink örneği ile
Oracle Makine, akıllı sözleşmeler ile dış dünya arasında bağlantı sağlayan blockchain alanındaki temel altyapıdır. Bir ara yazılım sistemi olarak, zincir üzerindeki akıllı sözleşmelere dış veri bilgisi sağlayabilir. Oracle Makine'nin temel işlevi, blockchain üzerindeki akıllı sözleşmelere veri iletmektir.
Örnek vermek gerekirse, Ethereum ağı üzerinde belirli bir tarih için ham petrol işlem hacmi verilerini elde etmesi gereken bir akıllı sözleşme dağıttığımızı varsayalım. Akıllı sözleşme kendisi doğrudan zincir dışındaki gerçek dünya verilerine erişemediğinden, bu durumda bir Oracle Makine yardımıyla gerçekleştirilmesi gerekir. Süreç şu şekildedir: Akıllı sözleşme, gerekli tarih için ham petrol işlem hacmi veri talebini olay günlüğüne yazar, ardından zincir dışı bir süreç bu olay günlüğünü izlemek ve abone olmak için başlatılır. İşlemdeki talep dinlendiğinde, bu süreç, ilgili yöntemleri çağırmak için zincir üzerindeki işlemleri göndererek akıllı sözleşmeye belirtilen tarihe ait ham petrol işlem hacmi bilgilerini yükler.
Oracle Makine pazarında, Chainlink en büyük pazar payını elinde bulundurmaktadır. Merkeziyetsiz bir oracle projesi olarak, Chainlink, blok zincirine gerçek dünyada üretilen verileri en güvenli şekilde sağlamayı hedeflemektedir. Chainlink, temel oracle ilkeleri üzerine LINK token'ı etrafında ekonomik teşviklerle döngüsel bir ekosistem oluşturmuştur. Chainlink oracle'ları, LINK token'ının transferi ile tetiklenmektedir. LINK, Ethereum ağı üzerindeki ERC677 sözleşmesidir ve LINK token'ı temel alınarak gerçekleştirilen oracle işlevi, istek/yanıt modeline dayanmaktadır.
ERC677 token standard, ERC20'nin üzerine transferAndCall metodunu ekler. Bu metod, ödeme ve hizmet talebini bir araya getirerek, Oracle Makine iş senaryolarının ihtiyaçlarını karşılar. Kullanıcı transferAndCall işlemi gerçekleştirdiğinde, ERC20 transferinin yanı sıra, alıcı adresinin bir akıllı sözleşme adresi olup olmadığını kontrol eder; eğer öyleyse, bu adresin onTokenTransfer metodunu çağırır.
Bir Oracle Makine hizmeti talep etmeden önce, kullanıcı öncelikle bu Oracle Makine'nin güvenilirliğini doğrulamalıdır, çünkü Oracle Makine, tüketicilere hizmet vermeden önce ödeme alması gerekmektedir. Oracle Makine'nin tüketicisi, transferAndCall yöntemini kullanarak ücret ödeyip hizmet talep ettiğinde, Oracle Makine sözleşmesinin onTokenTransfer yöntemi bir dizi güvenlik kontrolü gerçekleştirecektir; bu kontroller arasında transferin LINK tokeni olup olmadığını doğrulama, veri uzunluğunun sınırları aşmamasını kontrol etme, function selector'ü doğrulama gibi işlemler yer almaktadır. Kontroller başarıyla geçildikten sonra, deleGatecall kullanılarak oracle sözleşmesinin oracleRequest yöntemi çağrılacaktır.
oracleRequest yöntemi, benzersiz bir requestId oluşturur, zaman aşımını ayarlar ve OracleRequest olayını yayımlar. Bu olay, istek verilerini içerir ve CBOR kodlama formatını kullanır. Off-chain düğümleri bu olayı dinler, istek bilgilerini çözümler ve ardından gerekli verileri almak için API çağrısı yapar. Son olarak, verileri zincir üzerine göndermek için fulfillOracleRequest yöntemini çağırarak bir işlem gönderir.
fulfillOracleRequest yöntemi, çağrı yapanın izinlerini kontrol etmek, talep geçerliliğini doğrulamak gibi bir dizi doğrulama gerçekleştirecektir. Doğrulama başarılı olduktan sonra, çekilebilir token miktarı kaydedilecek ve talep eden sözleşmenin geri çağırma fonksiyonu ile veri döndürülecektir.
Geliştiriciler için, yalnızca mevcut kripto para çiftlerinin fiyat verilerini kullanmak istiyorlarsa, doğrudan resmi olarak sağlanan Price Feed arayüzünü çağırabilirler. Her ticaret çifti için ayrı bir Price Feed ( yani Aggregator ) vardır, bu aslında AggregatorProxy sözleşmesidir. Geliştiriciler, en son fiyat verilerini almak için latestRoundData ( ) yöntemini çağırabilirler; burada answer parametresi en son fiyatı temsil eder. USD cinsinden fiyatlandırılan çoğu ticaret çiftinin hassasiyeti 8 haneli olarak belirlenmiştir, bu da farklı tokenlar arasındaki hassasiyet işlemlerini basitleştirir.
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.
17 Likes
Reward
17
5
Share
Comment
0/400
PebbleHander
· 16h ago
O da böyle bir şey işte.
View OriginalReply0
BankruptWorker
· 16h ago
Çok zor, savaşmaktan vazgeçtim.
View OriginalReply0
CryptoGoldmine
· 16h ago
Geçen yıl link'in fiyat hareketiyle 200 kat kazandım, tamamen teknik analizle.
View OriginalReply0
TestnetScholar
· 16h ago
link yine ödev kopyaladı
View OriginalReply0
Web3Educator
· 16h ago
temel olarak büyüleyici şeyler, bunu web3 öğrencilerim için açıklayayım...
Chainlink Oracle Makine: Blok Zinciri ile gerçek dünya arasında bir köprü
Oracle Makine teknolojisi detaylı açıklaması: Chainlink örneği ile
Oracle Makine, akıllı sözleşmeler ile dış dünya arasında bağlantı sağlayan blockchain alanındaki temel altyapıdır. Bir ara yazılım sistemi olarak, zincir üzerindeki akıllı sözleşmelere dış veri bilgisi sağlayabilir. Oracle Makine'nin temel işlevi, blockchain üzerindeki akıllı sözleşmelere veri iletmektir.
Örnek vermek gerekirse, Ethereum ağı üzerinde belirli bir tarih için ham petrol işlem hacmi verilerini elde etmesi gereken bir akıllı sözleşme dağıttığımızı varsayalım. Akıllı sözleşme kendisi doğrudan zincir dışındaki gerçek dünya verilerine erişemediğinden, bu durumda bir Oracle Makine yardımıyla gerçekleştirilmesi gerekir. Süreç şu şekildedir: Akıllı sözleşme, gerekli tarih için ham petrol işlem hacmi veri talebini olay günlüğüne yazar, ardından zincir dışı bir süreç bu olay günlüğünü izlemek ve abone olmak için başlatılır. İşlemdeki talep dinlendiğinde, bu süreç, ilgili yöntemleri çağırmak için zincir üzerindeki işlemleri göndererek akıllı sözleşmeye belirtilen tarihe ait ham petrol işlem hacmi bilgilerini yükler.
Oracle Makine pazarında, Chainlink en büyük pazar payını elinde bulundurmaktadır. Merkeziyetsiz bir oracle projesi olarak, Chainlink, blok zincirine gerçek dünyada üretilen verileri en güvenli şekilde sağlamayı hedeflemektedir. Chainlink, temel oracle ilkeleri üzerine LINK token'ı etrafında ekonomik teşviklerle döngüsel bir ekosistem oluşturmuştur. Chainlink oracle'ları, LINK token'ının transferi ile tetiklenmektedir. LINK, Ethereum ağı üzerindeki ERC677 sözleşmesidir ve LINK token'ı temel alınarak gerçekleştirilen oracle işlevi, istek/yanıt modeline dayanmaktadır.
ERC677 token standard, ERC20'nin üzerine transferAndCall metodunu ekler. Bu metod, ödeme ve hizmet talebini bir araya getirerek, Oracle Makine iş senaryolarının ihtiyaçlarını karşılar. Kullanıcı transferAndCall işlemi gerçekleştirdiğinde, ERC20 transferinin yanı sıra, alıcı adresinin bir akıllı sözleşme adresi olup olmadığını kontrol eder; eğer öyleyse, bu adresin onTokenTransfer metodunu çağırır.
Bir Oracle Makine hizmeti talep etmeden önce, kullanıcı öncelikle bu Oracle Makine'nin güvenilirliğini doğrulamalıdır, çünkü Oracle Makine, tüketicilere hizmet vermeden önce ödeme alması gerekmektedir. Oracle Makine'nin tüketicisi, transferAndCall yöntemini kullanarak ücret ödeyip hizmet talep ettiğinde, Oracle Makine sözleşmesinin onTokenTransfer yöntemi bir dizi güvenlik kontrolü gerçekleştirecektir; bu kontroller arasında transferin LINK tokeni olup olmadığını doğrulama, veri uzunluğunun sınırları aşmamasını kontrol etme, function selector'ü doğrulama gibi işlemler yer almaktadır. Kontroller başarıyla geçildikten sonra, deleGatecall kullanılarak oracle sözleşmesinin oracleRequest yöntemi çağrılacaktır.
oracleRequest yöntemi, benzersiz bir requestId oluşturur, zaman aşımını ayarlar ve OracleRequest olayını yayımlar. Bu olay, istek verilerini içerir ve CBOR kodlama formatını kullanır. Off-chain düğümleri bu olayı dinler, istek bilgilerini çözümler ve ardından gerekli verileri almak için API çağrısı yapar. Son olarak, verileri zincir üzerine göndermek için fulfillOracleRequest yöntemini çağırarak bir işlem gönderir.
fulfillOracleRequest yöntemi, çağrı yapanın izinlerini kontrol etmek, talep geçerliliğini doğrulamak gibi bir dizi doğrulama gerçekleştirecektir. Doğrulama başarılı olduktan sonra, çekilebilir token miktarı kaydedilecek ve talep eden sözleşmenin geri çağırma fonksiyonu ile veri döndürülecektir.
Geliştiriciler için, yalnızca mevcut kripto para çiftlerinin fiyat verilerini kullanmak istiyorlarsa, doğrudan resmi olarak sağlanan Price Feed arayüzünü çağırabilirler. Her ticaret çifti için ayrı bir Price Feed ( yani Aggregator ) vardır, bu aslında AggregatorProxy sözleşmesidir. Geliştiriciler, en son fiyat verilerini almak için latestRoundData ( ) yöntemini çağırabilirler; burada answer parametresi en son fiyatı temsil eder. USD cinsinden fiyatlandırılan çoğu ticaret çiftinin hassasiyeti 8 haneli olarak belirlenmiştir, bu da farklı tokenlar arasındaki hassasiyet işlemlerini basitleştirir.