Blockchain ekosisteminde, Oracle Makine akıllı sözleşmeler ile dış dünya arasında bağlantı kuran kritik bir rol oynamaktadır. Bir altyapı olarak, Oracle Makine sistemi zincir üzerindeki akıllı sözleşmelere zincir dışından bilgi ve veri sağlayabilir.
Örneğin, Ethereum ağı üzerinde belirli bir gün için ham petrol işlem hacmi verilerini almak isteyen bir akıllı sözleşme dağıttığımızı varsayalım. Akıllı sözleşmenin kendisi doğrudan zincir dışındaki gerçek dünya verilerine erişemediğinden, bu işlevi gerçekleştirmek için bir Oracle Makine'ye ihtiyaç vardır. Süreç şu şekildedir: Akıllı sözleşme, gerekli tarih için ham petrol işlem hacmini olay günlüğüne yazar, ardından zincir dışı bir izleme süreci bu olayı abone olmak için başlatılır. İlgili talep algılandığında, bu süreç, zincir üzerindeki işlemi göndererek akıllı sözleşmenin ilgili yöntemini çağırır ve belirlenen tarih için ham petrol işlem hacmi bilgisini akıllı sözleşmeye iletir.
Birçok Oracle Makine projesi arasında, Chainlink pazarın hakimiyetini elinde bulunduruyor. Merkeziyetsiz bir Oracle Makine çözümü olarak, Chainlink, blok zincirine gerçek dünya verilerini en güvenli şekilde sağlamaya kendini adamıştır. Temel Oracle Makine prensipleri üzerine inşa edilen Chainlink, LINK tokeni etrafında ekonomik teşvikler yoluyla olumlu bir döngü oluşturan bir ekosistem geliştirmiştir. Chainlink Oracle Makine'sinin tetiklenmesi, LINK tokeninin transferi ile gerçekleştirilmelidir ve LINK, Ethereum ağı üzerindeki ERC677 sözleşmesidir. LINK ERC677 tokeni temelinde gerçekleştirilen Oracle Makine işlevleri, istek/yanıt modeline aittir.
ERC677 standard, based on ERC20, adds the transferAndCall method, which combines payment and service requests into one, better meeting the needs of Oracle Makine business scenarios. When users make transfers using transferAndCall, in addition to the regular ERC20 transfer operations, it will also check whether the receiving address is a contract address. If it is, it will call the onTokenTransfer method of that address.
Oracle Makine hizmetinin talep sürecinde, tüketicinin öncelikle Oracle Makine'nin güvenilirliğini doğrulaması gerekir, çünkü hizmet sağlanmadan önce ön ödeme yapılması gerekmektedir. Oracle Makine sözleşmesinin onTokenTransfer yöntemi, bir dizi güvenlik kontrolü gerçekleştirecektir; bunlar arasında transferin LINK token olup olmadığını doğrulama, veri uzunluğunun sınırı aşıp aşmadığını kontrol etme ve function selector'ü doğrulama bulunmaktadır. Kontrollerden geçtikten sonra, sözleşme benzersiz bir requestId oluşturacak, son kullanma tarihini ayarlayacak ve talep verilerini içeren OracleRequest olayını yayınlayacaktır.
Zincir dışı düğüm, bir isteği aldıktan sonra fulfillOracleRequest yöntemini çağırarak yanıt verecektir. Bu yöntem, çağrının yetkisini kontrol etme, isteğin geçerliliğini doğrulama gibi bir dizi doğrulama gerçekleştirecektir. Doğrulama başarılı olduktan sonra, düğüm istekte bulunan sözleşmenin geri çağırma fonksiyonunu çağırarak verileri istekte bulunan tarafa geri gönderecektir.
Geliştiriciler için, mevcut döviz çifti fiyat verilerini kullanmak yeterliyse, resmi olarak sağlanan Price Feed arayüzünü doğrudan çağırabilirler. Her işlem çifti, decimals(), description(), version(), getRoundData() ve latestRoundData() gibi sorgulama yöntemlerini sağlayan bağımsız bir Price Feed ( yani AggregatorProxy) ile birlikte gelir. latestRoundData() yönteminden dönen answer parametresi en son fiyatı temsil etmektedir. Dikkate değer olan, ABD Doları cinsinden fiyatlandırılan işlem çiftlerinin genellikle 8 ondalık basamağa sahip olmasıdır.
Bu şekilde, geliştiriciler karmaşık API çağrıları ve veri doğrulama süreçlerini kendileri halletmek zorunda kalmadan, zincir üzerindeki Oracle Makine tarafından sağlanan gerçek zamanlı fiyat verilerini kolayca alabilir ve kullanabilirler.
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.
9 Likes
Reward
9
5
Share
Comment
0/400
AlwaysAnon
· 4h ago
İçki içmeden anlamak mümkün olmayan şeyler, LinkCoin ne anlar ki
Derinlik analizi: Oracle Makine nasıl akıllı sözleşmeler ile dış dünyayı bağlar
Oracle Makine teknolojisi Derinlik analizi
Blockchain ekosisteminde, Oracle Makine akıllı sözleşmeler ile dış dünya arasında bağlantı kuran kritik bir rol oynamaktadır. Bir altyapı olarak, Oracle Makine sistemi zincir üzerindeki akıllı sözleşmelere zincir dışından bilgi ve veri sağlayabilir.
Örneğin, Ethereum ağı üzerinde belirli bir gün için ham petrol işlem hacmi verilerini almak isteyen bir akıllı sözleşme dağıttığımızı varsayalım. Akıllı sözleşmenin kendisi doğrudan zincir dışındaki gerçek dünya verilerine erişemediğinden, bu işlevi gerçekleştirmek için bir Oracle Makine'ye ihtiyaç vardır. Süreç şu şekildedir: Akıllı sözleşme, gerekli tarih için ham petrol işlem hacmini olay günlüğüne yazar, ardından zincir dışı bir izleme süreci bu olayı abone olmak için başlatılır. İlgili talep algılandığında, bu süreç, zincir üzerindeki işlemi göndererek akıllı sözleşmenin ilgili yöntemini çağırır ve belirlenen tarih için ham petrol işlem hacmi bilgisini akıllı sözleşmeye iletir.
Birçok Oracle Makine projesi arasında, Chainlink pazarın hakimiyetini elinde bulunduruyor. Merkeziyetsiz bir Oracle Makine çözümü olarak, Chainlink, blok zincirine gerçek dünya verilerini en güvenli şekilde sağlamaya kendini adamıştır. Temel Oracle Makine prensipleri üzerine inşa edilen Chainlink, LINK tokeni etrafında ekonomik teşvikler yoluyla olumlu bir döngü oluşturan bir ekosistem geliştirmiştir. Chainlink Oracle Makine'sinin tetiklenmesi, LINK tokeninin transferi ile gerçekleştirilmelidir ve LINK, Ethereum ağı üzerindeki ERC677 sözleşmesidir. LINK ERC677 tokeni temelinde gerçekleştirilen Oracle Makine işlevleri, istek/yanıt modeline aittir.
ERC677 standard, based on ERC20, adds the transferAndCall method, which combines payment and service requests into one, better meeting the needs of Oracle Makine business scenarios. When users make transfers using transferAndCall, in addition to the regular ERC20 transfer operations, it will also check whether the receiving address is a contract address. If it is, it will call the onTokenTransfer method of that address.
Oracle Makine hizmetinin talep sürecinde, tüketicinin öncelikle Oracle Makine'nin güvenilirliğini doğrulaması gerekir, çünkü hizmet sağlanmadan önce ön ödeme yapılması gerekmektedir. Oracle Makine sözleşmesinin onTokenTransfer yöntemi, bir dizi güvenlik kontrolü gerçekleştirecektir; bunlar arasında transferin LINK token olup olmadığını doğrulama, veri uzunluğunun sınırı aşıp aşmadığını kontrol etme ve function selector'ü doğrulama bulunmaktadır. Kontrollerden geçtikten sonra, sözleşme benzersiz bir requestId oluşturacak, son kullanma tarihini ayarlayacak ve talep verilerini içeren OracleRequest olayını yayınlayacaktır.
Zincir dışı düğüm, bir isteği aldıktan sonra fulfillOracleRequest yöntemini çağırarak yanıt verecektir. Bu yöntem, çağrının yetkisini kontrol etme, isteğin geçerliliğini doğrulama gibi bir dizi doğrulama gerçekleştirecektir. Doğrulama başarılı olduktan sonra, düğüm istekte bulunan sözleşmenin geri çağırma fonksiyonunu çağırarak verileri istekte bulunan tarafa geri gönderecektir.
Geliştiriciler için, mevcut döviz çifti fiyat verilerini kullanmak yeterliyse, resmi olarak sağlanan Price Feed arayüzünü doğrudan çağırabilirler. Her işlem çifti, decimals(), description(), version(), getRoundData() ve latestRoundData() gibi sorgulama yöntemlerini sağlayan bağımsız bir Price Feed ( yani AggregatorProxy) ile birlikte gelir. latestRoundData() yönteminden dönen answer parametresi en son fiyatı temsil etmektedir. Dikkate değer olan, ABD Doları cinsinden fiyatlandırılan işlem çiftlerinin genellikle 8 ondalık basamağa sahip olmasıdır.
Bu şekilde, geliştiriciler karmaşık API çağrıları ve veri doğrulama süreçlerini kendileri halletmek zorunda kalmadan, zincir üzerindeki Oracle Makine tarafından sağlanan gerçek zamanlı fiyat verilerini kolayca alabilir ve kullanabilirler.