آلة أوراكل هي بنية تحتية مهمة في مجال البلوكتشين، حيث يمكنها توفير المعلومات الخارجية للعقود الذكية على السلسلة. كوسيط يربط بين العقود الذكية والعالم الخارجي، تلعب آلة أوراكل دورًا لا يمكن الاستغناء عنه في بيئة البلوكتشين، حيث تتمثل وظيفتها الأساسية في توفير البيانات الخارجية المطلوبة للعقود الذكية.
! Chainlink (الجزء 1) من سلسلة Oracle Explainer](https://img-cdn.gateio.im/webp-social/moments-ced3348559da0aabbf1c67c4d84ddc88.webp)
على سبيل المثال، إذا قمنا بنشر عقد ذكي على الإيثيريوم يحتاج إلى الحصول على بيانات حجم تداول النفط الخام في يوم معين. نظرًا لأن العقد الذكي نفسه لا يمكنه الوصول مباشرة إلى البيانات الواقعية خارج السلسلة، فإنه يحتاج إلى الاعتماد على آلة أوراكل لتحقيق هذه الوظيفة. العملية المحددة هي: سيقوم العقد الذكي بكتابة حجم تداول النفط الخام للتاريخ المطلوب في سجل الأحداث، ثم سيتم تشغيل عملية خارج السلسلة لمراقبة هذا السجل. عند اكتشاف الطلب ذي الصلة، ستقوم هذه العملية من خلال تقديم معاملة على السلسلة، باستدعاء الطريقة المقابلة للعقد لنقل معلومات حجم تداول النفط الخام للتاريخ المحدد إلى العقد الذكي.
! Chainlink (الجزء 1) من سلسلة Oracle Explainer](https://img-cdn.gateio.im/webp-social/moments-30dffd84ae22b9fa8f93929cd523ef99.webp0192837465674839201
من بين العديد من مشاريع آلة أوراكل، تحتل Chainlink الحصة السوقية الأكبر. Chainlink هي شبكة آلة أوراكل لا مركزية تهدف إلى توفير بيانات العالم الحقيقي للبلوكتشين بطريقة آمنة وموثوقة. بالإضافة إلى تحقيق الوظائف الأساسية لآلة أوراكل، قامت Chainlink أيضًا ببناء نظام بيئي يتشكل من خلال حوافز اقتصادية حول رمز LINK، مما يخلق حلقة إيجابية. في شبكة Chainlink، تحتاج خدمات آلة أوراكل إلى تفعيلها من خلال نقل رموز LINK، في حين أن LINK هو رمز ERC677 على الإيثيريوم. الوظائف التي تم تنفيذها بواسطة رمز LINK تتبع نمط الطلب/الاستجابة.
! Chainlink الجزء 1 من سلسلة Oracle Explainer])https://img-cdn.gateio.im/webp-social/moments-36eedcde4ebee55bf1c0e6c5f02934df.webp(
تضيف معيار ERC677 طريقة transferAndCall على أساس ERC20، مما يجمع بين الدفع وطلب الخدمة في واحد، لتلبية احتياجات سيناريوهات أعمال آلة أوراكل بشكل أفضل. عندما يقوم المستخدم باستدعاء transferAndCall لإجراء التحويل، بالإضافة إلى التحويل العادي ERC20، إذا كان المستلم هو عنوان عقد، فسيتم أيضًا استدعاء طريقة onTokenTransfer لذلك العنوان.
! Chainlink (الجزء 1) من سلسلة Oracle Explainer])https://img-cdn.gateio.im/webp-social/moments-d05f88f78a86510920ca9cb9cb97fcd6.webp(
في عملية طلب oracle على السلسلة، عندما يستخدم مستهلك oracle طريقة transferAndCall لدفع الرسوم وطلب الخدمة، ستقوم طريقة onTokenTransfer لعقد oracle أولاً بإجراء سلسلة من الفحوصات الأمنية، بما في ذلك التحقق مما إذا كانت التحويلة عبارة عن رموز LINK، والتحقق من طول بيانات الطلب للتأكد من توافقها، والتحقق من محدد الوظيفة، وما إلى ذلك. بعد اجتياز هذه الفحوصات، سيتم استدعاء طريقة oracleRequest لعقد oracle من خلال deleGatecall.
! Chainlink الجزء 1 من سلسلة Oracle Explainer])https://img-cdn.gateio.im/webp-social/moments-dae23b36c6a83626aa95ba58fa8dbee5.webp(
ستقوم طريقة oracleRequest بإنشاء requestId فريد، وتعيين وقت انتهاء الطلب، وتسجيل المعلومات ذات الصلة في خريطة commitments. الأهم من ذلك، أنها ستصدر حدث OracleRequest يحتوي على بيانات الطلب. عادةً ما تكون البيانات في هذا الحدث ممثلة بصيغة CBOR)، وهو تنسيق ترميز كائن ثنائي مضغوط (، مما يسهل على العقد خارج السلسلة解析处理.
! Chainlink (الجزء 1) من سلسلة Oracle Explainer])https://img-cdn.gateio.im/webp-social/moments-1994fff156354700fda0609f9e317726.webp(
عند استجابة العقدة خارج السلسلة لطلب ما، ستقوم باستدعاء طريقة fulfillOracleRequest. تقوم هذه الطريقة أولاً بإجراء سلسلة من التحقق، بما في ذلك فحص أذونات المستدعي والتحقق من صلاحية الطلب، وما إلى ذلك. بعد اجتياز التحقق، ستقوم بتحديث عدد الرموز القابلة للسحب، وحذف سجلات الالتزام المقابلة، وأخيرًا استدعاء دالة رد الاتصال لعقد المستدعي.
! Chainlink (الجزء 1) من سلسلة Oracle Explainer])https://img-cdn.gateio.im/webp-social/moments-bb84d77f358852f47e9adf3e74ba5bf9.webp(
بالنسبة للمطورين، إذا كان عليهم فقط استخدام بيانات سعر العملة المتاحة، يمكنهم استدعاء واجهة Price Feed المقدمة من Chainlink مباشرة. كل زوج تداول لديه Price Feed مستقل يُعرف أيضًا باسم Aggregator)، وهو في الواقع عقد AggregatorProxy. توفر هذه الواجهات وظائف للحصول على دقة السعر، والوصف، ورقم الإصدار، وأحدث بيانات الأسعار، وغيرها. في معظم سيناريوهات التطبيق، قد يحتاج العقد فقط إلى قراءة أحدث سعر، ويمكن الحصول عليه من خلال استدعاء طريقة latestRoundData(). من الجدير بالذكر أن أزواج التداول المقومة بالدولار غالبًا ما تعتمد على دقة موحدة تصل إلى 8 أرقام، مما يبسط مشكلة معالجة الدقة بين الرموز المختلفة.
! Chainlink (الجزء 1) من سلسلة Oracle Explainer](https://img-cdn.gateio.im/webp-social/moments-527bd8714534f5f06ccdd9afe40b253a.webp)
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
تسجيلات الإعجاب 9
أعجبني
9
5
مشاركة
تعليق
0/400
0xSherlock
· 07-18 14:15
يجب أن تستمر الروابط في العمل.
شاهد النسخة الأصليةرد0
LightningPacketLoss
· 07-16 16:18
هل يمكن أن يكون سعر link أفضل؟
شاهد النسخة الأصليةرد0
PumpingCroissant
· 07-16 03:42
link قليلاً يستهلك غاز
شاهد النسخة الأصليةرد0
GweiWatcher
· 07-16 03:30
ما العلاقة بين link وهذه الزيادة الكبيرة في الأسعار؟
شاهد النسخة الأصليةرد0
WhaleSurfer
· 07-16 03:24
بقرة LINK ، لا يزال من الممكن كسب ثمن الدعارة البيضاء
آلة أوراكل :البلوكتشين مع العالم الواقعي جسر رئيسي
آلة أوراكل دورها الرئيسي في تقنية البلوكتشين
آلة أوراكل هي بنية تحتية مهمة في مجال البلوكتشين، حيث يمكنها توفير المعلومات الخارجية للعقود الذكية على السلسلة. كوسيط يربط بين العقود الذكية والعالم الخارجي، تلعب آلة أوراكل دورًا لا يمكن الاستغناء عنه في بيئة البلوكتشين، حيث تتمثل وظيفتها الأساسية في توفير البيانات الخارجية المطلوبة للعقود الذكية.
! Chainlink (الجزء 1) من سلسلة Oracle Explainer](https://img-cdn.gateio.im/webp-social/moments-ced3348559da0aabbf1c67c4d84ddc88.webp)
على سبيل المثال، إذا قمنا بنشر عقد ذكي على الإيثيريوم يحتاج إلى الحصول على بيانات حجم تداول النفط الخام في يوم معين. نظرًا لأن العقد الذكي نفسه لا يمكنه الوصول مباشرة إلى البيانات الواقعية خارج السلسلة، فإنه يحتاج إلى الاعتماد على آلة أوراكل لتحقيق هذه الوظيفة. العملية المحددة هي: سيقوم العقد الذكي بكتابة حجم تداول النفط الخام للتاريخ المطلوب في سجل الأحداث، ثم سيتم تشغيل عملية خارج السلسلة لمراقبة هذا السجل. عند اكتشاف الطلب ذي الصلة، ستقوم هذه العملية من خلال تقديم معاملة على السلسلة، باستدعاء الطريقة المقابلة للعقد لنقل معلومات حجم تداول النفط الخام للتاريخ المحدد إلى العقد الذكي.
! Chainlink (الجزء 1) من سلسلة Oracle Explainer](https://img-cdn.gateio.im/webp-social/moments-30dffd84ae22b9fa8f93929cd523ef99.webp0192837465674839201
من بين العديد من مشاريع آلة أوراكل، تحتل Chainlink الحصة السوقية الأكبر. Chainlink هي شبكة آلة أوراكل لا مركزية تهدف إلى توفير بيانات العالم الحقيقي للبلوكتشين بطريقة آمنة وموثوقة. بالإضافة إلى تحقيق الوظائف الأساسية لآلة أوراكل، قامت Chainlink أيضًا ببناء نظام بيئي يتشكل من خلال حوافز اقتصادية حول رمز LINK، مما يخلق حلقة إيجابية. في شبكة Chainlink، تحتاج خدمات آلة أوراكل إلى تفعيلها من خلال نقل رموز LINK، في حين أن LINK هو رمز ERC677 على الإيثيريوم. الوظائف التي تم تنفيذها بواسطة رمز LINK تتبع نمط الطلب/الاستجابة.
! Chainlink الجزء 1 من سلسلة Oracle Explainer])https://img-cdn.gateio.im/webp-social/moments-36eedcde4ebee55bf1c0e6c5f02934df.webp(
تضيف معيار ERC677 طريقة transferAndCall على أساس ERC20، مما يجمع بين الدفع وطلب الخدمة في واحد، لتلبية احتياجات سيناريوهات أعمال آلة أوراكل بشكل أفضل. عندما يقوم المستخدم باستدعاء transferAndCall لإجراء التحويل، بالإضافة إلى التحويل العادي ERC20، إذا كان المستلم هو عنوان عقد، فسيتم أيضًا استدعاء طريقة onTokenTransfer لذلك العنوان.
! Chainlink (الجزء 1) من سلسلة Oracle Explainer])https://img-cdn.gateio.im/webp-social/moments-d05f88f78a86510920ca9cb9cb97fcd6.webp(
في عملية طلب oracle على السلسلة، عندما يستخدم مستهلك oracle طريقة transferAndCall لدفع الرسوم وطلب الخدمة، ستقوم طريقة onTokenTransfer لعقد oracle أولاً بإجراء سلسلة من الفحوصات الأمنية، بما في ذلك التحقق مما إذا كانت التحويلة عبارة عن رموز LINK، والتحقق من طول بيانات الطلب للتأكد من توافقها، والتحقق من محدد الوظيفة، وما إلى ذلك. بعد اجتياز هذه الفحوصات، سيتم استدعاء طريقة oracleRequest لعقد oracle من خلال deleGatecall.
! Chainlink الجزء 1 من سلسلة Oracle Explainer])https://img-cdn.gateio.im/webp-social/moments-dae23b36c6a83626aa95ba58fa8dbee5.webp(
ستقوم طريقة oracleRequest بإنشاء requestId فريد، وتعيين وقت انتهاء الطلب، وتسجيل المعلومات ذات الصلة في خريطة commitments. الأهم من ذلك، أنها ستصدر حدث OracleRequest يحتوي على بيانات الطلب. عادةً ما تكون البيانات في هذا الحدث ممثلة بصيغة CBOR)، وهو تنسيق ترميز كائن ثنائي مضغوط (، مما يسهل على العقد خارج السلسلة解析处理.
! Chainlink (الجزء 1) من سلسلة Oracle Explainer])https://img-cdn.gateio.im/webp-social/moments-1994fff156354700fda0609f9e317726.webp(
عند استجابة العقدة خارج السلسلة لطلب ما، ستقوم باستدعاء طريقة fulfillOracleRequest. تقوم هذه الطريقة أولاً بإجراء سلسلة من التحقق، بما في ذلك فحص أذونات المستدعي والتحقق من صلاحية الطلب، وما إلى ذلك. بعد اجتياز التحقق، ستقوم بتحديث عدد الرموز القابلة للسحب، وحذف سجلات الالتزام المقابلة، وأخيرًا استدعاء دالة رد الاتصال لعقد المستدعي.
! Chainlink (الجزء 1) من سلسلة Oracle Explainer])https://img-cdn.gateio.im/webp-social/moments-bb84d77f358852f47e9adf3e74ba5bf9.webp(
بالنسبة للمطورين، إذا كان عليهم فقط استخدام بيانات سعر العملة المتاحة، يمكنهم استدعاء واجهة Price Feed المقدمة من Chainlink مباشرة. كل زوج تداول لديه Price Feed مستقل يُعرف أيضًا باسم Aggregator)، وهو في الواقع عقد AggregatorProxy. توفر هذه الواجهات وظائف للحصول على دقة السعر، والوصف، ورقم الإصدار، وأحدث بيانات الأسعار، وغيرها. في معظم سيناريوهات التطبيق، قد يحتاج العقد فقط إلى قراءة أحدث سعر، ويمكن الحصول عليه من خلال استدعاء طريقة latestRoundData(). من الجدير بالذكر أن أزواج التداول المقومة بالدولار غالبًا ما تعتمد على دقة موحدة تصل إلى 8 أرقام، مما يبسط مشكلة معالجة الدقة بين الرموز المختلفة.
! Chainlink (الجزء 1) من سلسلة Oracle Explainer](https://img-cdn.gateio.im/webp-social/moments-527bd8714534f5f06ccdd9afe40b253a.webp)