Oracle Makine: Blok Zinciri ile gerçek dünya arasında bir köprü
Blok Zinciri teknolojisinde, Oracle Makine kritik bir altyapı rolü oynamaktadır. Bu, zincir üzerindeki akıllı sözleşmelere dış bilgi sağlayabilen bir sistemdir ve Blok Zinciri ile dış dünya arasında bir ara katman görevi görmektedir. Oracle Makine'nin ana işlevi, Blok Zinciri üzerindeki akıllı sözleşmelere gerekli dış verileri sağlamaktır.
Örnek vermek gerekirse, Ethereum ağı üzerinde belirli bir günde petrol ticaret hacmi verilerini almak için bir akıllı sözleşme oluşturduğumuzu varsayalım. Akıllı sözleşmenin kendisi bu tür çevrimdışı gerçek dünya verilerini doğrudan elde edemediğinden, bunu gerçekleştirmek için bir Oracle Makine aracılığıyla ihtiyaç vardır. Bu durumda, akıllı sözleşme, gerekli petrol ticaret hacmi verilerini olay günlüğüne yazacaktır. Ardından, çevrimdışı bir süreç bu olay günlüğünü izlemek ve abone olmak için başlatılacaktır. İşlemdeki isteği tespit ettiğinde, bu süreç, zincir üzerindeki bir işlemi göndererek sözleşmenin ilgili yöntemini çağıracak ve belirli tarihteki petrol ticaret hacmi bilgilerini akıllı sözleşmeye yükleyecektir.
Chainlink: Blok Zinciri Oracle Makinesi'nin Lideri
Oracle Makine alanında, Chainlink şüphesiz pazar payı en büyük projedir. Merkeziyetsiz bir Oracle Makine çözümü olarak, Chainlink'in amacı, blok zincirine gerçek dünyada üretilen verileri en güvenli şekilde sağlamaktır. Temel Oracle Makine prensipleri üzerine, Chainlink, LINK tokeni etrafında ekonomik teşviklerle olumlu bir döngü oluşturan bir ekosistem inşa etmiştir.
Chainlink Oracle Makine'nin tetiklenmesi, LINK tokeninin transferi ile gerçekleştirilir. LINK, Ethereum ağına dayalı bir ERC677 sözleşme tokenidir. LINK ERC677 tokeni temelinde gerçekleştirilen Oracle Makine işlevleri, istek/yanıt modeline aittir.
ERC677 token içindeki transferAndCall
ERC677 standardı, Chainlink'in Oracle Makine hizmet senaryosuna uyum sağlamak için önerdiği bir standarttır. Bu standart, normal ERC20 standardının üzerine transferAndCall yöntemini ekleyerek, ödeme ve hizmet talebini bir araya getirir ve Oracle Makine iş senaryolarının gereksinimlerini karşılar.
Kullanıcı transferAndCall ile para transferi yaptığında, standart ERC20 transferinin yanı sıra, alım adresinin bir akıllı sözleşme adresi olup olmadığı da kontrol edilir. Eğer öyleyse, bu adresin onTokenTransfer metodunu çağırır. Dikkat edilmesi gereken bir nokta, kullanıcıların Oracle Makine hizmetini talep etmeden önce bu Oracle Makine'nin güvenilirliğini doğrulamaları gerektiğidir, çünkü Oracle Makine hizmeti önceden ödeme gerektirir.
Blok Zinciri oracle makine istek süreci
Oracle Makine tüketicileri transferAndCall yöntemini kullanarak ücret ödeyip hizmet talep ettiğinde, Oracle Makine sözleşmesindeki onTokenTransfer yöntemi öncelikle bir dizi güvenlik kontrolü gerçekleştirir. Bu, transferin LINK tokeni olup olmadığını doğrulamayı, veri uzunluğunun sınırları aşmadığını kontrol etmeyi, verilerin doğru işlev seçici içerip içermediğini doğrulamayı içerir.
Güvenlik kontrolünden sonra, sözleşme benzersiz bir requestId oluşturacak ve isteğin son kullanma tarihini ayarlayacaktır. Son olarak, sözleşme bir OracleRequest olayı yayınlayacak ve bu olay isteğin ayrıntılı verilerini içerecektir.
Zincir Dışı Düğüm Yanıt Mekanizması
Ağ dışı düğüm, OracleRequest olayını aldıktan sonra, talebin spesifik bilgilerini çözümler ve gerekli verileri almak için ağ API'sini kullanır. Ardından, düğüm fulfillOracleRequest yöntemini çağırarak verileri zincire gönderir.
Bu yöntem, çağrıyı yapanın yetkilendirilip yetkilendirilmediğini kontrol etmek, isteğin geçerliliğini doğrulamak gibi bir dizi doğrulama gerçekleştirir. Doğrulama başarılı olduktan sonra, sözleşme çekilebilir token miktarını kaydedecek ve commitments haritasından bu requestId'yi silecek. Son olarak, sözleşme istekte bulunanın sözleşmesinin geri çağırma fonksiyonunu çağırarak verileri tüketiciye iletecektir.
Fiyat Oracle Makinesi'nin gerçek uygulaması
Geliştiriciler için, mevcut kripto para çiftlerinin fiyat verilerini kullanmak yeterliyse, doğrudan Chainlink'in Price Feed arayüzünü kullanabilirler. Her bir ticaret çifti için ayrı bir Price Feed ( olarak da bilinen Aggregator ), aslında bir AggregatorProxy sözleşmesidir.
Bu arayüzler genellikle aşağıdaki birkaç sorgu yöntemini sunar:
version(): Proxy'nin işaret ettiği Aggregator türü
getRoundData(_roundId): Belirli bir tur için fiyat verilerini al
latestRoundData(): En son fiyat verilerini al
Çoğu uygulama senaryosunda, sözleşmeler yalnızca en son fiyatı okumak için latestRoundData() yöntemini çağırması gerekebilir. Dönen answer parametresi, en son fiyatı temsil etmektedir.
Dikkate değer olan, çoğu uygulamanın okuduğu token fiyatlarının USD cinsinden olduğu. Bu durumda, hassasiyet genellikle 8 basamakta birleştirilir, bu da farklı tokenler arasındaki hassasiyet işlem sorunlarını 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.
5 Likes
Reward
5
7
Share
Comment
0/400
nft_widow
· 14h ago
Oracle Makine inanılmaz bu da yanlamasına yürüyebilmek demek!
View OriginalReply0
CountdownToBroke
· 14h ago
sadece zincirdeki bir yolcu
View OriginalReply0
BlockchainBouncer
· 14h ago
Gaga yine Oracle Makine mekanizmasını açıklamaya geldim!
View OriginalReply0
StakeTillRetire
· 14h ago
Oracle Makine bu şey gerçekten harika. Benim akıllı sözleşmelerim onsuz olamaz.
View OriginalReply0
FUD_Whisperer
· 14h ago
Sözleşme yemeği bile alamıyorum.
View OriginalReply0
HalfPositionRunner
· 14h ago
Bu kızartma yağı verileri Oracle Makine sayesinde kurtarılacak.
Oracle Makine, blok zinciri ile gerçek dünya arasındaki veri köprüsü nasıl olur
Oracle Makine: Blok Zinciri ile gerçek dünya arasında bir köprü
Blok Zinciri teknolojisinde, Oracle Makine kritik bir altyapı rolü oynamaktadır. Bu, zincir üzerindeki akıllı sözleşmelere dış bilgi sağlayabilen bir sistemdir ve Blok Zinciri ile dış dünya arasında bir ara katman görevi görmektedir. Oracle Makine'nin ana işlevi, Blok Zinciri üzerindeki akıllı sözleşmelere gerekli dış verileri sağlamaktır.
Örnek vermek gerekirse, Ethereum ağı üzerinde belirli bir günde petrol ticaret hacmi verilerini almak için bir akıllı sözleşme oluşturduğumuzu varsayalım. Akıllı sözleşmenin kendisi bu tür çevrimdışı gerçek dünya verilerini doğrudan elde edemediğinden, bunu gerçekleştirmek için bir Oracle Makine aracılığıyla ihtiyaç vardır. Bu durumda, akıllı sözleşme, gerekli petrol ticaret hacmi verilerini olay günlüğüne yazacaktır. Ardından, çevrimdışı bir süreç bu olay günlüğünü izlemek ve abone olmak için başlatılacaktır. İşlemdeki isteği tespit ettiğinde, bu süreç, zincir üzerindeki bir işlemi göndererek sözleşmenin ilgili yöntemini çağıracak ve belirli tarihteki petrol ticaret hacmi bilgilerini akıllı sözleşmeye yükleyecektir.
Chainlink: Blok Zinciri Oracle Makinesi'nin Lideri
Oracle Makine alanında, Chainlink şüphesiz pazar payı en büyük projedir. Merkeziyetsiz bir Oracle Makine çözümü olarak, Chainlink'in amacı, blok zincirine gerçek dünyada üretilen verileri en güvenli şekilde sağlamaktır. Temel Oracle Makine prensipleri üzerine, Chainlink, LINK tokeni etrafında ekonomik teşviklerle olumlu bir döngü oluşturan bir ekosistem inşa etmiştir.
Chainlink Oracle Makine'nin tetiklenmesi, LINK tokeninin transferi ile gerçekleştirilir. LINK, Ethereum ağına dayalı bir ERC677 sözleşme tokenidir. LINK ERC677 tokeni temelinde gerçekleştirilen Oracle Makine işlevleri, istek/yanıt modeline aittir.
ERC677 token içindeki transferAndCall
ERC677 standardı, Chainlink'in Oracle Makine hizmet senaryosuna uyum sağlamak için önerdiği bir standarttır. Bu standart, normal ERC20 standardının üzerine transferAndCall yöntemini ekleyerek, ödeme ve hizmet talebini bir araya getirir ve Oracle Makine iş senaryolarının gereksinimlerini karşılar.
Kullanıcı transferAndCall ile para transferi yaptığında, standart ERC20 transferinin yanı sıra, alım adresinin bir akıllı sözleşme adresi olup olmadığı da kontrol edilir. Eğer öyleyse, bu adresin onTokenTransfer metodunu çağırır. Dikkat edilmesi gereken bir nokta, kullanıcıların Oracle Makine hizmetini talep etmeden önce bu Oracle Makine'nin güvenilirliğini doğrulamaları gerektiğidir, çünkü Oracle Makine hizmeti önceden ödeme gerektirir.
Blok Zinciri oracle makine istek süreci
Oracle Makine tüketicileri transferAndCall yöntemini kullanarak ücret ödeyip hizmet talep ettiğinde, Oracle Makine sözleşmesindeki onTokenTransfer yöntemi öncelikle bir dizi güvenlik kontrolü gerçekleştirir. Bu, transferin LINK tokeni olup olmadığını doğrulamayı, veri uzunluğunun sınırları aşmadığını kontrol etmeyi, verilerin doğru işlev seçici içerip içermediğini doğrulamayı içerir.
Güvenlik kontrolünden sonra, sözleşme benzersiz bir requestId oluşturacak ve isteğin son kullanma tarihini ayarlayacaktır. Son olarak, sözleşme bir OracleRequest olayı yayınlayacak ve bu olay isteğin ayrıntılı verilerini içerecektir.
Zincir Dışı Düğüm Yanıt Mekanizması
Ağ dışı düğüm, OracleRequest olayını aldıktan sonra, talebin spesifik bilgilerini çözümler ve gerekli verileri almak için ağ API'sini kullanır. Ardından, düğüm fulfillOracleRequest yöntemini çağırarak verileri zincire gönderir.
Bu yöntem, çağrıyı yapanın yetkilendirilip yetkilendirilmediğini kontrol etmek, isteğin geçerliliğini doğrulamak gibi bir dizi doğrulama gerçekleştirir. Doğrulama başarılı olduktan sonra, sözleşme çekilebilir token miktarını kaydedecek ve commitments haritasından bu requestId'yi silecek. Son olarak, sözleşme istekte bulunanın sözleşmesinin geri çağırma fonksiyonunu çağırarak verileri tüketiciye iletecektir.
Fiyat Oracle Makinesi'nin gerçek uygulaması
Geliştiriciler için, mevcut kripto para çiftlerinin fiyat verilerini kullanmak yeterliyse, doğrudan Chainlink'in Price Feed arayüzünü kullanabilirler. Her bir ticaret çifti için ayrı bir Price Feed ( olarak da bilinen Aggregator ), aslında bir AggregatorProxy sözleşmesidir.
Bu arayüzler genellikle aşağıdaki birkaç sorgu yöntemini sunar:
Çoğu uygulama senaryosunda, sözleşmeler yalnızca en son fiyatı okumak için latestRoundData() yöntemini çağırması gerekebilir. Dönen answer parametresi, en son fiyatı temsil etmektedir.
Dikkate değer olan, çoğu uygulamanın okuduğu token fiyatlarının USD cinsinden olduğu. Bu durumda, hassasiyet genellikle 8 basamakta birleştirilir, bu da farklı tokenler arasındaki hassasiyet işlem sorunlarını basitleştirir.