Oracle Makine, blockchain dünyasında vazgeçilmez bir altyapıdır ve akıllı sözleşmelere dış veriler sağlar. Akıllı sözleşmeler ile gerçek dünya arasında bir köprü olarak, Oracle Makine blockchain ekosisteminde kritik bir rol oynamaktadır.
Akıllı sözleşmeler kendileri zincir dışı verilere erişemez, bu nedenle bu işlevi gerçekleştirmek için Oracle Makineye ihtiyaç duyarlar. Örneğin, Ethereum üzerindeki bir akıllı sözleşme belirli bir günün ham petrol ticaret hacmi verilerine ihtiyaç duyuyorsa, isteği olay günlüğüne yazacaktır. Daha sonra, zincir dışı süreç bu günlüğü dinleyecek ve gerekli verileri akıllı sözleşmeye yüklemek için sözleşme yöntemini çağıracaktır.
Chainlink, şu anda pazar payı en büyük merkeziyetsiz Oracle Makine projesidir. LINK token'ı aracılığıyla ekonomik teşvik odaklı bir ekosistem kurarak, gerçek dünya verilerini blockchain'e en güvenli şekilde sağlamayı garanti eder. Chainlink Oracle Makine'lerinin tetiklenmesi, LINK token'ının transferi ile gerçekleştirilir, bu da bir istek/yanıt modeline aittir.
LINK token, ERC677 standardına dayanan bir token'dır ve ERC20'nin üzerine transferAndCall yöntemini ekler. Bu yöntem, ödeme ve hizmet talebini bir araya getirerek Oracle Makine'nin iş ihtiyaçlarını daha iyi karşılar. Kullanıcı transferAndCall kullanarak transfer gerçekleştirdiğinde, transfer işleminin yanı sıra, alıcı adresinin onTokenTransfer yöntemini de çağırır.
Oracle Makine sözleşmesinin onTokenTransfer yöntemi, LINK tokeninin transfer edilip edilmediğini doğrulama, veri uzunluğunun aşırı olup olmadığını kontrol etme, fonksiyon seçicisini doğrulama gibi bir dizi güvenlik kontrolü gerçekleştirecektir. Kontrollerin ardından, oracle sözleşmesinin oracleRequest yöntemini çağırmak için deleGatecall kullanılacaktır.
oracleRequest metodu, benzersiz bir requestId oluşturacak, son kullanma süresini ayarlayacak ve OracleRequest olayını yayacaktır. Bu olay, genellikle CBOR formatında ikili verileri içeren istek verilerini içerir.
Zincir dışı düğüm, OracleRequest olayını dinledikten sonra, belirli istek bilgilerini çözümler, API çağrısı yaparak sonuçları alır ve ardından fulfillOracleRequest yöntemini çağırarak verileri zincire gönderir. Bu yöntem, bir dizi doğrulamadan geçtikten sonra, talep eden sözleşmenin geri çağırma fonksiyonunu çağırarak sonuçları tüketici sözleşmesine geri döner.
Geliştiriciler için Chainlink, daha basit bir Price Feed arayüzü de sunmaktadır. Her işlem çifti için bir AggregatorProxy sözleşmesi bulunmaktadır ve bu sözleşme, fiyatları sorgulamak için birkaç basit yöntem sağlamaktadır. Bunlardan biri olan latestRoundData() yöntemi, en son fiyat verilerini doğrudan almanızı sağlar; karmaşık ayarları kendiniz belirlemeden API gibi şeylere ihtiyaç duymazsınız.
Genel olarak, Chainlink, LINK tokeni ve özenle tasarlanmış sözleşme yapısı ile, güvenliği sağlarken akıllı sözleşmelere kolay ve güvenilir dış veri erişim yeteneği sunarak blok zinciri ekosisteminin daha da gelişimini teşvik etmektedir.
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: Akıllı sözleşmeler ile gerçek dünya arasındaki köprü
Oracle Makine Prensibi ve Chainlink Tanıtımı
Oracle Makine, blockchain dünyasında vazgeçilmez bir altyapıdır ve akıllı sözleşmelere dış veriler sağlar. Akıllı sözleşmeler ile gerçek dünya arasında bir köprü olarak, Oracle Makine blockchain ekosisteminde kritik bir rol oynamaktadır.
Akıllı sözleşmeler kendileri zincir dışı verilere erişemez, bu nedenle bu işlevi gerçekleştirmek için Oracle Makineye ihtiyaç duyarlar. Örneğin, Ethereum üzerindeki bir akıllı sözleşme belirli bir günün ham petrol ticaret hacmi verilerine ihtiyaç duyuyorsa, isteği olay günlüğüne yazacaktır. Daha sonra, zincir dışı süreç bu günlüğü dinleyecek ve gerekli verileri akıllı sözleşmeye yüklemek için sözleşme yöntemini çağıracaktır.
Chainlink, şu anda pazar payı en büyük merkeziyetsiz Oracle Makine projesidir. LINK token'ı aracılığıyla ekonomik teşvik odaklı bir ekosistem kurarak, gerçek dünya verilerini blockchain'e en güvenli şekilde sağlamayı garanti eder. Chainlink Oracle Makine'lerinin tetiklenmesi, LINK token'ının transferi ile gerçekleştirilir, bu da bir istek/yanıt modeline aittir.
LINK token, ERC677 standardına dayanan bir token'dır ve ERC20'nin üzerine transferAndCall yöntemini ekler. Bu yöntem, ödeme ve hizmet talebini bir araya getirerek Oracle Makine'nin iş ihtiyaçlarını daha iyi karşılar. Kullanıcı transferAndCall kullanarak transfer gerçekleştirdiğinde, transfer işleminin yanı sıra, alıcı adresinin onTokenTransfer yöntemini de çağırır.
Oracle Makine sözleşmesinin onTokenTransfer yöntemi, LINK tokeninin transfer edilip edilmediğini doğrulama, veri uzunluğunun aşırı olup olmadığını kontrol etme, fonksiyon seçicisini doğrulama gibi bir dizi güvenlik kontrolü gerçekleştirecektir. Kontrollerin ardından, oracle sözleşmesinin oracleRequest yöntemini çağırmak için deleGatecall kullanılacaktır.
oracleRequest metodu, benzersiz bir requestId oluşturacak, son kullanma süresini ayarlayacak ve OracleRequest olayını yayacaktır. Bu olay, genellikle CBOR formatında ikili verileri içeren istek verilerini içerir.
Zincir dışı düğüm, OracleRequest olayını dinledikten sonra, belirli istek bilgilerini çözümler, API çağrısı yaparak sonuçları alır ve ardından fulfillOracleRequest yöntemini çağırarak verileri zincire gönderir. Bu yöntem, bir dizi doğrulamadan geçtikten sonra, talep eden sözleşmenin geri çağırma fonksiyonunu çağırarak sonuçları tüketici sözleşmesine geri döner.
Geliştiriciler için Chainlink, daha basit bir Price Feed arayüzü de sunmaktadır. Her işlem çifti için bir AggregatorProxy sözleşmesi bulunmaktadır ve bu sözleşme, fiyatları sorgulamak için birkaç basit yöntem sağlamaktadır. Bunlardan biri olan latestRoundData() yöntemi, en son fiyat verilerini doğrudan almanızı sağlar; karmaşık ayarları kendiniz belirlemeden API gibi şeylere ihtiyaç duymazsınız.
Genel olarak, Chainlink, LINK tokeni ve özenle tasarlanmış sözleşme yapısı ile, güvenliği sağlarken akıllı sözleşmelere kolay ve güvenilir dış veri erişim yeteneği sunarak blok zinciri ekosisteminin daha da gelişimini teşvik etmektedir.