Blok zinciri ekosisteminde, Oracle Makine, zincir üzerindeki akıllı sözleşmeler ile dış dünya arasında bir köprü işlevi görerek son derece önemli bir altyapı rolü oynamaktadır. Temel işlevi, blok zinciri üzerindeki akıllı sözleşmelere dış veriler sağlamaktır.
Örneğin, Ethereum ağında belirli bir günün ham petrol işlem hacmi verilerini elde etmek için bir akıllı sözleşme dağıttığımızda, sözleşmenin kendisi çevrimdışı gerçek dünya verilerine doğrudan erişemediğinden, bu durumda bunu gerçekleştirmek için bir Oracle Makineye ihtiyaç duyulur. Süreç şu şekildedir: Akıllı sözleşme, gerekli tarih için ham petrol işlem hacmi talebini olay günlüğüne yazar, ardından çevrimdışı bir süreç bu olayı dinleyip abone olur. İlgili talep algılandığında, bu süreç, belirli bir tarih için ham petrol işlem hacmi bilgisini akıllı sözleşmeye yüklemek üzere, akıllı sözleşmenin belirli bir yöntemini çağırmak için zincir üstü işlem sunarak yanıt verir.
Birçok Oracle Makine projesi arasında, belirli bir merkeziyetsiz Oracle Makine projesi pazar payı bakımından önde yer almaktadır. Bu proje, blok zincirine gerçek dünya verilerini en güvenli şekilde sağlamaya adanmıştır. Temel Oracle Makine prensiplerini gerçekleştirmekle kalmayıp, aynı zamanda yerel token'ı etrafında sağlıklı bir döngü ekosistemi inşa etmiştir ve ekonomik teşvikler aracılığıyla sistemin sürdürülebilirliğini garanti altına almıştır. Bu sistemde, Oracle Makine'nin tetiklenmesi yerel token'ın transferi yoluyla gerçekleştirilir, bu token'a dayalı Oracle Makine işlevi talep/yanıt modeli olarak kabul edilir.
Bu proje, standart ERC20'nin üzerine bir transferAndCall yöntemi ekleyen geliştirilmiş bir homojen token standardı kullanmaktadır. Bu yöntem, ödeme ve hizmet talebini bir araya getirerek Oracle Makine iş senaryolarının ihtiyaçlarını iyi bir şekilde karşılamaktadır. Kullanıcı transferAndCall çağrısı yaptığında, standart ERC20 transferinin yanı sıra, alım adresinin bir akıllı sözleşme adresi olup olmadığını kontrol eder; eğer öyleyse, bu adresin onTokenTransfer yöntemini çağırır.
Oracle Makine sözleşmesinde, onTokenTransfer yöntemi öncelikle transferin belirtilen tokenin kullanılıp kullanılmadığını doğrular, ardından istek verisinin geçerliliğini kontrol eder. Bir dizi güvenlik kontrolünden sonra, sözleşme benzersiz bir istek kimliği oluşturur, son kullanma süresini ayarlar ve ilgili bilgileri commitments haritasına kaydeder. En önemlisi, sözleşme istek verilerini içeren bir olay yayar, bu veriler hafif ikili nesne temsil biçimi kodlamasıyla sunulur.
Ağın dışındaki düğüm, isteği aldıktan sonra fulfillOracleRequest yöntemini çağırarak isteğe yanıt verir. Bu yöntem önce bir dizi doğrulama gerçekleştirir; bunlar arasında çağrının yetkilendirilmesini, isteğin geçerliliğini kontrol etme gibi işlemler bulunur. Doğrulama başarılı olduktan sonra, çekilebilir token miktarı kaydedilir ve commitments haritasından bu istek kimliği silinir. Son olarak, eğer kalan gaz yeterliyse, talep edenin sözleşmesinin geri arama fonksiyonu çağrılır.
Geri çağırma fonksiyonunda, isteğin geçerliliği tekrar doğrulanacak ve belirli gereksinimlere göre dönen veriler işlenecektir. Örneğin, fiyat Oracle Makinesi için, mevcut fiyat verileri güncellenebilir.
Geliştiriciler için, belirli bir Oracle Makine projesi daha kolay bir fiyat sorgulama arayüzü sunmaktadır. Her işlem çifti için bağımsız bir fiyat toplayıcı bulunmaktadır, geliştiriciler bu arayüzleri doğrudan çağırarak en son fiyat verilerine ulaşabilir, veri kaynağı URL'sini kendileri belirtmek zorunda kalmazlar. Bu arayüzler genellikle sorgulama hassasiyeti, açıklama, versiyon, tarihsel veriler ve en son veriler gibi işlevler içerir ve geliştirme sürecini büyük ölçüde basitleştirir.
Dikkate değer olan, çoğu uygulama senaryosunda, sözleşmelerin sadece en son fiyatı okumasının yeterli olabileceğidir. Ayrıca, Amerikan doları cinsinden fiyatlandırılan işlem çiftlerinde, fiyat hassasiyeti genellikle 8 basamak olarak standartlaştırılmıştır, bu da farklı token hassasiyeti farklılıklarıyla uğraşma sorununu ortadan kaldırır.
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.
Oracle Makine teknolojisi: akıllı sözleşmeler ile gerçek dünya arasındaki köprü
Oracle Makine teknolojisi Derinlik analizi
Blok zinciri ekosisteminde, Oracle Makine, zincir üzerindeki akıllı sözleşmeler ile dış dünya arasında bir köprü işlevi görerek son derece önemli bir altyapı rolü oynamaktadır. Temel işlevi, blok zinciri üzerindeki akıllı sözleşmelere dış veriler sağlamaktır.
Örneğin, Ethereum ağında belirli bir günün ham petrol işlem hacmi verilerini elde etmek için bir akıllı sözleşme dağıttığımızda, sözleşmenin kendisi çevrimdışı gerçek dünya verilerine doğrudan erişemediğinden, bu durumda bunu gerçekleştirmek için bir Oracle Makineye ihtiyaç duyulur. Süreç şu şekildedir: Akıllı sözleşme, gerekli tarih için ham petrol işlem hacmi talebini olay günlüğüne yazar, ardından çevrimdışı bir süreç bu olayı dinleyip abone olur. İlgili talep algılandığında, bu süreç, belirli bir tarih için ham petrol işlem hacmi bilgisini akıllı sözleşmeye yüklemek üzere, akıllı sözleşmenin belirli bir yöntemini çağırmak için zincir üstü işlem sunarak yanıt verir.
Birçok Oracle Makine projesi arasında, belirli bir merkeziyetsiz Oracle Makine projesi pazar payı bakımından önde yer almaktadır. Bu proje, blok zincirine gerçek dünya verilerini en güvenli şekilde sağlamaya adanmıştır. Temel Oracle Makine prensiplerini gerçekleştirmekle kalmayıp, aynı zamanda yerel token'ı etrafında sağlıklı bir döngü ekosistemi inşa etmiştir ve ekonomik teşvikler aracılığıyla sistemin sürdürülebilirliğini garanti altına almıştır. Bu sistemde, Oracle Makine'nin tetiklenmesi yerel token'ın transferi yoluyla gerçekleştirilir, bu token'a dayalı Oracle Makine işlevi talep/yanıt modeli olarak kabul edilir.
Bu proje, standart ERC20'nin üzerine bir transferAndCall yöntemi ekleyen geliştirilmiş bir homojen token standardı kullanmaktadır. Bu yöntem, ödeme ve hizmet talebini bir araya getirerek Oracle Makine iş senaryolarının ihtiyaçlarını iyi bir şekilde karşılamaktadır. Kullanıcı transferAndCall çağrısı yaptığında, standart ERC20 transferinin yanı sıra, alım adresinin bir akıllı sözleşme adresi olup olmadığını kontrol eder; eğer öyleyse, bu adresin onTokenTransfer yöntemini çağırır.
Oracle Makine sözleşmesinde, onTokenTransfer yöntemi öncelikle transferin belirtilen tokenin kullanılıp kullanılmadığını doğrular, ardından istek verisinin geçerliliğini kontrol eder. Bir dizi güvenlik kontrolünden sonra, sözleşme benzersiz bir istek kimliği oluşturur, son kullanma süresini ayarlar ve ilgili bilgileri commitments haritasına kaydeder. En önemlisi, sözleşme istek verilerini içeren bir olay yayar, bu veriler hafif ikili nesne temsil biçimi kodlamasıyla sunulur.
Ağın dışındaki düğüm, isteği aldıktan sonra fulfillOracleRequest yöntemini çağırarak isteğe yanıt verir. Bu yöntem önce bir dizi doğrulama gerçekleştirir; bunlar arasında çağrının yetkilendirilmesini, isteğin geçerliliğini kontrol etme gibi işlemler bulunur. Doğrulama başarılı olduktan sonra, çekilebilir token miktarı kaydedilir ve commitments haritasından bu istek kimliği silinir. Son olarak, eğer kalan gaz yeterliyse, talep edenin sözleşmesinin geri arama fonksiyonu çağrılır.
Geri çağırma fonksiyonunda, isteğin geçerliliği tekrar doğrulanacak ve belirli gereksinimlere göre dönen veriler işlenecektir. Örneğin, fiyat Oracle Makinesi için, mevcut fiyat verileri güncellenebilir.
Geliştiriciler için, belirli bir Oracle Makine projesi daha kolay bir fiyat sorgulama arayüzü sunmaktadır. Her işlem çifti için bağımsız bir fiyat toplayıcı bulunmaktadır, geliştiriciler bu arayüzleri doğrudan çağırarak en son fiyat verilerine ulaşabilir, veri kaynağı URL'sini kendileri belirtmek zorunda kalmazlar. Bu arayüzler genellikle sorgulama hassasiyeti, açıklama, versiyon, tarihsel veriler ve en son veriler gibi işlevler içerir ve geliştirme sürecini büyük ölçüde basitleştirir.
Dikkate değer olan, çoğu uygulama senaryosunda, sözleşmelerin sadece en son fiyatı okumasının yeterli olabileceğidir. Ayrıca, Amerikan doları cinsinden fiyatlandırılan işlem çiftlerinde, fiyat hassasiyeti genellikle 8 basamak olarak standartlaştırılmıştır, bu da farklı token hassasiyeti farklılıklarıyla uğraşma sorununu ortadan kaldırır.