وقت القراءة: 5 دقائق
Ethereum هو أول blockchain على الإطلاق يرث صفات إنشاء dapps ، وتداول الأصول المشفرة على blockchain ، وما إلى ذلك.
لديها لغة البرمجة الخاصة بها لكتابة العقود الذكية وتنفيذها على الجهاز الظاهري Ethereum لبث اللامركزية في أداء الأنشطة.
تنفذ العقود الذكية سطور الرموز المحددة مسبقًا وتفي بالمهمة المقصودة. ولكن ماذا لو أردنا أن نجعل العقود الذكية تعمل بناءً على نتائج حدوثها في الوقت الفعلي؟
لتحقيق ذلك ، نحتاج إلى فهم مفهوم أوراكل blockchain التي يمكن للعقود الذكية من خلالها تلقي مدخلات من العالم الحقيقي.
ما هو أوراكل في التشفير ، وكيفية إنشاء أوراكل في عقد إيثريوم سمارت؟ سنناقش هذا بالتفصيل في القسم التالي.
الموضوعات الرئيسية للمدونة
- ما هو التشفير أوراكل وكيف يعمل أوراكل
- أنواع مختلفة من الوحوش
- تدفق البيانات من oracles إلى عقود Ethereum الذكية
- كيفية ترميز Ethereum oracles
- مشاكل مع تشفير أوراكل
ما هي أوراكل ، ولماذا هناك حاجة إليها؟
الايحاءات هي كيانات تعمل كجسر يربط blockchain بأنظمة خارجية. بمعنى آخر ، توفر oracles بيانات الأحداث خارج السلسلة للعقد الذكي لأداء إجراء بناءً على الإدخال.
على سبيل المثال ، في أحداث المراهنة ، يُسمح للمستخدمين بالمراهنة على اللاعبين الذين يعتقدون أنهم سيفوزون بالمباراة. بناءً على الحدث في الوقت الفعلي ، يتم توزيع المكافآت على المستخدمين الذين يراهنون على الفائز.
تساعد بلوكتشين أوراكل على استكمال البيانات حول الفائز بالعقود الذكية. تدفق البيانات على oracle ثنائي الاتجاه ويمكن استخدامه لترجمة أي بيانات في الوقت الفعلي من تقارير الطقس إلى حالة سوق الأوراق المالية إلى العقود الذكية.
تمتلك كل عقدة في Ethereum blockchain معلومات حول المعاملات ، والتي يجب أن تكون موحدة. لذلك ، قد يؤدي جلب البيانات من واجهات برمجة التطبيقات إلى حدوث تناقضات. في المقابل ، يقوم oracle بتحميل البيانات على blockchain ، والتي تظهر بشكل ثابت على جميع العقد.
كيفية الوصول إلى البيانات من Oracle؟
تستخدم العقود الذكية دورة الطلب والاستجابة للحصول على معلومات من عقدة أوراكل. سيتلقى أوراكل الذي تم تنفيذه باستخدام HTTP GET الطلب من العقد الذكي ، ويمكن لوظيفة رد الاتصال استرداد البيانات المطلوبة من أوراكل.
بهذه الطريقة ، يتم جمع البيانات بواسطة العقد الذكي من أوراكل. تم تكوين كل أوراكل لتوفير معلومات محددة ، ويمكنك البحث عن خدمات الجهات الخارجية للحصول على البيانات التي تبحث عنها.
فيما يلي بعض خدمات أوراكل
- سلسلة ربط
- يمكن برهانه
- ويتنت
- Paralink وهلم جرا.
تصنيف Oracles
يتم تصنيف Oracles إلى أنواع مختلفة اعتمادًا على جلب البيانات والتحقق منها ونقلها.
إدخال أوراكل: النوع الأكثر شيوعًا حيث يتم جلب البيانات خارج السلسلة من الأحداث في الوقت الفعلي. على سبيل المثال يتم الحصول على تغذية الأسعار على الأسهم من خارج السلسلة لتحريك العمل على العقود الذكية بناءً على ظروف السوق المالية.
إخراج أوراكل: والعكس آية المدخلات أوراكل حيث تقوم العقود الذكية باستفزاز أوراكل لتنفيذ الإجراء. على سبيل المثال أرسل إشارات إلى مزود التخزين لتخزين البيانات أو بدء شبكات البنوك لإجراء المدفوعات.
عبر سلسلة أوراكل: تسهل أوراكل عبر السلسلة كلاً من قراءة البيانات وكتابتها على سلاسل الكتل المختلفة. كما أنه يجعل من الممكن إطلاق الأحداث في إحدى بلوكتشين وجعلها فعالة على أخرى.
الحوسبة الممكّنة: تستفيد oracles الممكّنة من الحساب من الحساب خارج السلسلة لتقديم الخدمات. خاصة عندما لا تكون السلسلة غير موثوقة بسبب قيود فنية أو مالية ، يتم استخدام هذا النوع من أوراكل.
جلب البيانات من Oracles
الخطوة 1: يرسل العقد الذكي استعلامًا إلى أوراكل.
الخطوة 2: يتم توجيه الاستعلام إلى ناقل البيانات ، الذي يسعى للحصول على البيانات من مصدر البيانات
الخطوة 3: تُشتق البيانات من المصدر وتُغذى إلى أوراكل.
الخطوة 4: ترسل Oracle الرد على العقد الذكي كما هو مطلوب.
إنشاء Oracle In Ethereum Smart Contract - هيكل الكود
سنجد كيف يعمل oracle في تحديد السعر الحالي لعملة البيتكوين بالدولار الأمريكي باستخدام خدمة أوراكل تسمى Provable.
pragma solidity >= 0.5.0 < 0.6.0; //Declaring the Solidity version import "github.com/provable-things/ethereum-api/provableAPI.sol"; //Importing latest version of provable API contract BitcoinPrice is usingProvable { //Contract named BitcoinPrice, UsingProvable refers to the API uint public bitcoinPriceUSD; //bitcoinPriceUSD is the variable created to store the price, Provable query event that makes a constructor event LogNewBitcoinPrice(string price); event LogNewProvableQuery(string description); constructor() public { update(); } // callback function to call the smart contract after the output is received and transfers the result from callback function to the variable assigned function __callback( bytes32 _myid, string memory _result ) public { require(msg.sender == provable_cbAddress()); emit LogNewBitcoinPrice(_result); BitcoinPriceUSD = parseInt(_result, 2); // Let's save it as cents... } //passing output string and API string to fetch bitcoin price to our constructor function update() public payable { emit LogNewProvableQuery("Provable query was sent, standing by for the answer..."); provable_query("URL", "xml("https://min-api.cryptocompare.com/data/generateAvg?fsym=BTC&tsym=USD&e=Kraken" ); } }
مشاكل أوراكل
مشاكل Oracle هي في الأساس التعارض بين العقود الذكية غير الموثوقة وخطابات الطرف الثالث الموثوق بها ، مع الأخذ في الاعتبار أمان ومصداقية البيانات من الأطراف الثالثة.
تعتمد العقود الذكية على أوراكل لاتخاذ القرارات المتعلقة بتنفيذها ، مما يمنحها سلطة هائلة على عملها. في واقع الأمر ، فإن الطبيعة اللامركزية للعقود الذكية موضع تساؤل.
ومع ذلك ، فإن خدمات أوراكل مثل ChainLink و Oraclize تعمل كحلول لامركزية تستمد البيانات بناءً على طرق جديدة وموثقة. وبالتالي ، فإن البيانات التي تم الحصول عليها هي من خلال وسائل لامركزية.
وفي الختام
يعتبر اتصال blockchain بالعالم الحقيقي أمرًا مهمًا بشكل مقبول لتحقيق قفزة إلى الأمام نحو العالم اللامركزي. تقدم Oracles الحل لواجهة موثوقة للعقود الذكية مع بيانات في الوقت الفعلي.
ومع ذلك ، لتحقيق الاستدامة ، يتم إجراء تطورات بواسطة خدمات أوراكل لغرس الأمن وصحة البيانات التي تم الحصول عليها خارج السلسلة.
تريد أن تظل أكثر صلة بـ أمان Web3?
تابعني: QuillAudits للعديد من عمليات الكتابة الحديثة هذه حول Web3.
وظيفة كيف تبني أوراكل الخاصة بك باستخدام عقود إيثريوم الذكية؟ ظهرت للمرة الأولى على Blog.quillhash.
- "
- a
- من نحن
- الوصول
- التأهيل
- كسب
- عمل
- اكشن
- أنشطة
- التطورات
- الكل
- آخر
- إجابة
- API
- واجهات برمجة التطبيقات
- ظهر
- ممتلكات
- تعيين
- موثق
- أصالة
- مصرف
- رهان
- ما بين
- إلى البيتكوين
- سعر بتكوين
- حظر
- سلسلة كتلة
- blockchains
- BRIDGE
- جلب
- نساعدك في بناء
- دعوة
- سلسلة ربط
- الكود
- حساب
- مفهوم
- الشروط
- صراع
- الرابط
- الإتصال
- عقد
- عقود
- استطاع
- خلق
- خلق
- خلق
- عبر سلسلة
- التشفير
- الأصول التشفير
- CryptoCompare
- حالياًّ
- DApps
- البيانات
- لامركزية
- القرارات
- اعتمادا
- وصف
- التفاصيل
- تحديد
- مختلف
- بحث
- العرض
- وزعت
- كل
- الكيانات
- خاصة
- ethereum
- Ethereum blockchain
- الحدث/الفعالية
- أحداث
- مثال
- بنك الاحتياطي الفيدرالي
- مالي
- السوق المالي
- الاسم الأول
- تدفق
- متابعيك
- إلى الأمام
- تبدأ من
- وظيفة
- عمل
- في الأساس
- GitHub جيثب:
- إعطاء
- مساعدة
- كيفية
- كيفية
- HTTPS
- تنفيذ
- نفذت
- في أخرى
- معلومات
- إدخال
- السطح البيني
- IT
- لغة
- آخر
- خطوط
- بحث
- آلة
- صنع
- جعل
- يصنع
- القيام ب
- تجارة
- مباراة
- أمر
- يعني
- مكبر الصوت : يدعم، مع دعم ميكروفون مدمج لمنع الضوضاء
- طرق
- الأكثر من ذلك
- أكثر
- الطبيعة
- الشبكات
- العقد
- تم الحصول عليها
- الوهب
- على السلسلة
- أوراكل
- أخرى
- الخاصة
- المدفوعات
- أداء
- لاعبين
- ممكن
- قوة
- السعر
- مشاكل
- برمجة وتطوير
- تزود
- مزود
- جمهور
- سؤال
- نادي القراءة
- العالم الحقيقي
- في الوقت الحقيقي
- معلومات الوقت الحقيقي
- تسلم
- تلقى
- معروف
- يشير
- بخصوص
- ذات الصلة
- الخدمة الموثوقة
- التقارير
- طلب
- استجابة
- النتائج
- الجوائز
- نفسه
- حفظ
- أمن
- الخدمة
- خدمات
- هام
- سمارت
- عقد الذكية
- العقود الذكية
- So
- SOL
- صلابة
- حل
- الحلول
- بعض
- محدد
- الحالة
- إقامة
- مخزون
- سوق الأوراق المالية
- الأسهم
- تخزين
- متجر
- قم بتخزين البيانات
- الاستدامة
- أنظمة
- تقني
- •
- المصدر
- وبالتالي
- طرف ثالث
- طرف ثالث
- عبر
- الوقت
- المواضيع
- تجارة
- تجارة التشفير
- المعاملات
- نقل
- التحويلات
- افضل
- أنواع
- فهم
- USD
- تستخدم
- المستخدمين
- مختلف
- الإصدار
- افتراضي
- الجهاز الظاهري
- Web3
- ابحث عن
- من الذى
- كسب
- كلمات
- للعمل
- أعمال
- العالم
- جاري الكتابة
- حل متجر العقارات الشامل الخاص بك في جورجيا