Oracle Makine, blok zinciri alanındaki temel altyapılardan biridir ve ana işlevi akıllı sözleşmelere dış veriler sağlamaktır. Akıllı sözleşmeler ile gerçek dünya arasında bir köprü görevi gören Oracle Makine, blok zinciri ekosisteminde vazgeçilmez bir rol oynamaktadır.
Örneğin, Ethereum üzerinde belirli bir tarihteki ham petrol işlem hacmini almak için bir akıllı sözleşme dağıttığımızda, sözleşmenin kendisi zincir dışı verilere doğrudan erişemediği için bir Oracle Makine'ye ihtiyaç duyulur. Süreç şu şekildedir: Akıllı sözleşme gerekli bilgileri olay günlüğüne yazar, zincir dışı süreç bu isteği dinler ve yanıtlar, ardından gerekli verileri akıllı sözleşmeye iletmek için zincir üstü bir işlem gerçekleştirir.
Birçok Oracle Makine projesi arasında, Chainlink merkeziyetsiz özelliği ve piyasa payı ile öne çıkmaktadır. Chainlink, LINK token ile bir ekonomik teşvik mekanizması oluşturmuş ve olumlu bir döngü ekosistemi geliştirmiştir. Temel işlevi, LINK token'a dayalı talep/yanıt modelidir.
Chainlink, ERC20 standardının genişletilmiş bir versiyonu olan ERC677 standardını kullanmaktadır ve transferAndCall yöntemini eklemiştir. Bu yöntem, ödeme ve hizmet taleplerini bir araya getirerek Oracle Makine'nin iş ihtiyaçlarını daha iyi karşılamaktadır. Kullanıcı transferAndCall'ı kullanarak transfer gerçekleştirdiğinde, standart ERC20 transferine ek olarak, alıcı sözleşmesinin onTokenTransfer yöntemini de tetikler.
Chainlink'in oracle sözleşmesinde, onTokenTransfer metodu öncelikle bir dizi güvenlik kontrolü gerçekleştirecek; bu kontroller arasında transfer edilen tokenin doğrulanması, veri uzunluğu ve function selector gibi kontroller yer alır. Kontrollerden sonra, sözleşme benzersiz bir requestId oluşturacak, bir son kullanma tarihi ayarlayacak ve OracleRequest olayını tetikleyecektir. Bu olay, veri formatı, geri çağırma adresi gibi isteğin ayrıntılarını içermektedir.
Zincir dışı düğüm, OracleRequest olayını dinledikten sonra, istek bilgilerini çözecek, API aracılığıyla gerekli verileri alacak ve ardından oracle sözleşmesinin fulfillOracleRequest yöntemini çağırarak verileri zincire gönderecektir. Bu yöntem bir dizi doğrulama gerçekleştirecek ve ardından istek sahibinin sözleşmesinin geri çağırma fonksiyonunu çağırarak tüm Oracle Makine hizmet sürecini tamamlayacaktır.
Geliştiriciler için Chainlink, daha kullanışlı bir fiyat Oracle Makine hizmeti de sunmaktadır. Her işlem çifti için karşılık gelen Price Feed (yani AggregatorProxy) bulunmaktadır, geliştiriciler bu sözleşmeleri doğrudan çağırarak en güncel fiyat verilerini alabilirler, veri kaynağı URL'sini kendileri belirtmelerine gerek yoktur. Çoğu uygulama senaryosunda, en güncel fiyatı almak için sadece latestRoundData() yöntemini çağırmak yeterlidir.
Dikkat edilmesi gereken nokta, USD cinsinden fiyatlandırılan işlem çiftlerinin genellikle 8 haneli fiyat hassasiyeti ile standartlaştırılmış olmasıdır, bu da farklı token fiyatlarının işlenme sürecini basitleştirmektedir.
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.
Chainlink Oracle Makine teknolojisi analizi: akıllı sözleşmeler ile gerçek dünya arasındaki köprü
Oracle Makine Teknolojisi Analizi: Chainlink Örneği
Oracle Makine, blok zinciri alanındaki temel altyapılardan biridir ve ana işlevi akıllı sözleşmelere dış veriler sağlamaktır. Akıllı sözleşmeler ile gerçek dünya arasında bir köprü görevi gören Oracle Makine, blok zinciri ekosisteminde vazgeçilmez bir rol oynamaktadır.
Örneğin, Ethereum üzerinde belirli bir tarihteki ham petrol işlem hacmini almak için bir akıllı sözleşme dağıttığımızda, sözleşmenin kendisi zincir dışı verilere doğrudan erişemediği için bir Oracle Makine'ye ihtiyaç duyulur. Süreç şu şekildedir: Akıllı sözleşme gerekli bilgileri olay günlüğüne yazar, zincir dışı süreç bu isteği dinler ve yanıtlar, ardından gerekli verileri akıllı sözleşmeye iletmek için zincir üstü bir işlem gerçekleştirir.
Birçok Oracle Makine projesi arasında, Chainlink merkeziyetsiz özelliği ve piyasa payı ile öne çıkmaktadır. Chainlink, LINK token ile bir ekonomik teşvik mekanizması oluşturmuş ve olumlu bir döngü ekosistemi geliştirmiştir. Temel işlevi, LINK token'a dayalı talep/yanıt modelidir.
Chainlink, ERC20 standardının genişletilmiş bir versiyonu olan ERC677 standardını kullanmaktadır ve transferAndCall yöntemini eklemiştir. Bu yöntem, ödeme ve hizmet taleplerini bir araya getirerek Oracle Makine'nin iş ihtiyaçlarını daha iyi karşılamaktadır. Kullanıcı transferAndCall'ı kullanarak transfer gerçekleştirdiğinde, standart ERC20 transferine ek olarak, alıcı sözleşmesinin onTokenTransfer yöntemini de tetikler.
Chainlink'in oracle sözleşmesinde, onTokenTransfer metodu öncelikle bir dizi güvenlik kontrolü gerçekleştirecek; bu kontroller arasında transfer edilen tokenin doğrulanması, veri uzunluğu ve function selector gibi kontroller yer alır. Kontrollerden sonra, sözleşme benzersiz bir requestId oluşturacak, bir son kullanma tarihi ayarlayacak ve OracleRequest olayını tetikleyecektir. Bu olay, veri formatı, geri çağırma adresi gibi isteğin ayrıntılarını içermektedir.
Zincir dışı düğüm, OracleRequest olayını dinledikten sonra, istek bilgilerini çözecek, API aracılığıyla gerekli verileri alacak ve ardından oracle sözleşmesinin fulfillOracleRequest yöntemini çağırarak verileri zincire gönderecektir. Bu yöntem bir dizi doğrulama gerçekleştirecek ve ardından istek sahibinin sözleşmesinin geri çağırma fonksiyonunu çağırarak tüm Oracle Makine hizmet sürecini tamamlayacaktır.
Geliştiriciler için Chainlink, daha kullanışlı bir fiyat Oracle Makine hizmeti de sunmaktadır. Her işlem çifti için karşılık gelen Price Feed (yani AggregatorProxy) bulunmaktadır, geliştiriciler bu sözleşmeleri doğrudan çağırarak en güncel fiyat verilerini alabilirler, veri kaynağı URL'sini kendileri belirtmelerine gerek yoktur. Çoğu uygulama senaryosunda, en güncel fiyatı almak için sadece latestRoundData() yöntemini çağırmak yeterlidir.
Dikkat edilmesi gereken nokta, USD cinsinden fiyatlandırılan işlem çiftlerinin genellikle 8 haneli fiyat hassasiyeti ile standartlaştırılmış olmasıdır, bu da farklı token fiyatlarının işlenme sürecini basitleştirmektedir.