Chainlink'i Derinlemesine İnceleme: Oracle Makine Nasıl Blok Zinciri ile Gerçek Dünya'yı Bağlar

robot
Abstract generation in progress

Oracle Makine Sistemi: Akıllı Sözleşmeler ve Gerçek Dünya Arasındaki Köprü

Blok zinciri ekosisteminde, Oracle Makine kritik bir rol oynamaktadır. Bir ara katman sistemi olarak, zincir üzerindeki akıllı sözleşmelere dış bilgi sağlayarak blok zinciri dünyasını gerçek dünya ile bağlantılı hale getirir. Oracle Makine'nin temel işlevi, akıllı sözleşmeler için gerekli dış verileri sağlamaktır.

Bir örnek vermek gerekirse, Ethereum ağı üzerinde bir günün ham petrol ticaret hacmi verilerini alması gereken bir akıllı sözleşme oluşturduğumuzu varsayalım. Akıllı sözleşmenin kendisi bu tür zincir dışı gerçek dünya verilerini doğrudan alamadığından, bunu gerçekleştirmek için bir Oracle Makine'ye ihtiyaç vardır. Bu durumda, akıllı sözleşme gerekli tarihin ham petrol ticaret hacmini olay günlüğüne yazacaktır. Ardından, zincir dışı bir süreç bu olay günlüğünü izlemek ve abone olmak için başlatılacaktır. İşlemdeki isteği dinlediğinde, bu süreç zincir üstü bir işlem göndererek, sözleşmenin ilgili yöntemini çağıracak ve belirtilen tarihin ham petrol ticaret hacmi bilgisini akıllı sözleşmeye yükleyecektir.

Oracle Makine detayları serisi: Chainlink (1. Bölüm)

Chainlink: Ana akım Oracle Makine çözümü

Mevcut blockchain pazarında, Chainlink en yüksek pazar payına sahip Oracle Makine projesidir. Merkeziyetsiz bir Oracle Makine sistemi olarak, Chainlink, blockchain'e gerçek dünyada üretilen verileri en güvenli şekilde sağlamayı amaçlamaktadır. Temel Oracle Makine prensipleri üzerine, Chainlink LINK token'ı etrafında ekonomik teşviklere dayalı bir ekosistem inşa etmiştir.

Chainlink Oracle Makine'nin tetiklenmesi, LINK token'larının transferi ile gerçekleştirilir. LINK, Ethereum ağı üzerindeki ERC677 akıllı sözleşmesidir ve LINK ERC677 token'ına dayanan Oracle Makine işlevi, istek/cevap modeli ile çalışmaktadır.

Oracle Makine详解系列之 Chainlink(上)

ERC677 token transferAndCall mekanizması

Chainlink, Oracle Makine çerçevesini tasarlarken, öncelikle kullanıcıların Oracle Makine'ye hizmet ücreti nasıl ödeyeceğini dikkate almıştır. Standart ERC20 token'ları "ödemeden sonra hizmet sağlama" gibi bir ihtiyacı karşılayamadığından, Chainlink, Oracle Makine hizmet senaryolarına uygun ERC677 standardını önermiştir.

ERC677, standart ERC20'nin üzerine transferAndCall metodunu ekler. Bu metod, ödeme ve hizmet taleplerini birleştirerek, Oracle Makine iş senaryolarının ihtiyaçlarını karşılar. Kullanıcı transferAndCall ile para transferi yaptığında, ERC20 transferinin yanı sıra, alıcı adresinin bir sözleşme adresi olup olmadığını kontrol eder, eğer öyleyse, o adresin onTokenTransfer metodunu çağırır.

Dikkate değer bir husus, kullanıcıların Oracle Makine hizmetini talep etmeden önce bu Oracle Makine'nin güvenilir olup olmadığını belirlemeleri gerektiğidir, çünkü Oracle Makine hizmet vermeden önce ücret talep etmektedir.

Oracle Makine detayları serisi: Chainlink (Bölüm 1)

zincir üzerindeki Oracle Makine istek süreci

Oracle Makine tüketicileri transferAndCall yöntemini kullanarak ödeme yaptıklarında ve hizmet talep ettiklerinde, Oracle Makine sözleşmesindeki onTokenTransfer yöntemi bir dizi güvenlik kontrolü gerçekleştirir. Bu, transferin LINK tokeni olup olmadığını doğrulamayı, veri uzunluğunun sınırı aşmadığını kontrol etmeyi, verilerin doğru fonksiyon seçicisini içerip içermediğini doğrulamayı içerir.

Kontrol başarılı olduktan sonra, Oracle Makine sözleşmesi benzersiz bir requestId oluşturacak ve talep ile ilgili bilgileri commitments haritasında saklayacaktır. Son olarak, sözleşme bir OracleRequest olayı yayınlayacak ve bu olay talebin ayrıntılı verilerini içerecektir.

Oracle Makine detayları serisi - Chainlink (1. Bölüm)

zincir dışı düğüm yanıt mekanizması

Zincir dışı düğüm, OracleRequest olayını dinledikten sonra, isteğin belirli bilgilerini çözümleyecek ve gerekli verileri almak için API çağrısı yapacaktır. Ardından, düğüm, verileri zincire göndermek için Oracle sözleşmesindeki fulfillOracleRequest yöntemini çağırarak bir işlem gönderir.

Bu yöntem, çağrıcının yetkilendirilmiş bir düğüm olup olmadığını kontrol etmek, istek ID'sinin geçerliliğini doğrulamak gibi bir dizi doğrulama gerçekleştirecektir. Doğrulama başarılı olduğunda, sözleşme geri çekilebilecek token miktarını kaydedecek ve commitments haritasından bu istek ID'sini silecektir.

Son olarak, sözleşme talep eden sözleşmenin geri çağırma fonksiyonunu çağıracak ve verileri tüketici sözleşmesine geri döndürecektir. Fiyat Oracle Makinesi için bu genellikle mevcut fiyat verilerini güncellemeyi içerir.

Oracle Makine详解系列之 Chainlink(上)

Fiyat Oracle Makinesi'nin Basit Kullanımı

Geliştiriciler için, eğer sadece mevcut coin çiftlerinin fiyat verilerini kullanmak istiyorlarsa, API URL'sini kendileri belirtmelerine gerek yoktur, doğrudan Chainlink tarafından sağlanan Price Feed'i kullanabilirler. Her işlem çifti için bağımsız bir Price Feed (, aynı zamanda Aggregator ) olarak da adlandırılır ve aslında bir AggregatorProxy akıllı sözleşmesidir.

Bu sözleşmeler genellikle aşağıdaki birkaç ana sorgulama yöntemini sunar:

  • decimals(): Fiyat verilerinin hassasiyet basamakları
  • description(): işlem çiftinin adını döndür
  • version(): Proxy'yi işaret eden Aggregator türü
  • getRoundData(_roundId): Tarih fiyat verilerini tur ID'sine göre al
  • latestRoundData(): En son fiyat verilerini al

Çoğu uygulama senaryosunda, sözleşmelerin yalnızca en son fiyatı okuması gerekebilir, yani latestRoundData() yöntemini çağırmak. Bu yöntem tarafından döndürülen answer parametresi en son fiyatı temsil eder.

Dikkate değer olan, çoğu uygulamanın token fiyatlarını okurken USD'yi birim olarak kullanmasıdır. Bu durumda, fiyat verilerinin doğruluğu genellikle 8 ondalık basamakla birleştirilir, bu da farklı tokenler arasındaki doğruluk işlemlerini basitleştirir.

Oracle Makine详解系列之 Chainlink(上)

LINK3.64%
View Original
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.
  • Reward
  • 8
  • Share
Comment
0/400
Anon32942vip
· 07-15 12:05
Oracle Makine bu konuda anlıyorum! Biraz link tuttum.
View OriginalReply0
CrossChainBreathervip
· 07-15 11:26
Oracle Makine benim küçük Cüzdanımı kurtardı
View OriginalReply0
rugdoc.ethvip
· 07-12 12:36
Oracle Makine de tam anlamıyla anlayamadı.
View OriginalReply0
HackerWhoCaresvip
· 07-12 12:32
link gelecektir ha
View OriginalReply0
MetaverseHermitvip
· 07-12 12:23
linkboğawaboğa
View OriginalReply0
SchrodingerWalletvip
· 07-12 12:17
Oracle Makine gerçekten güzel... Token güvenli.
View OriginalReply0
GasWastervip
· 07-12 12:14
Anne, bu akşamki Oracle Makine gerçekten güzel.
View OriginalReply0
bridge_anxietyvip
· 07-12 12:07
Gerçekten güzel çıktı
View OriginalReply0
Trade Crypto Anywhere Anytime
qrCode
Scan to download Gate app
Community
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)