تخطٍ إلى المحتوى الرئيسي

كيفية إعداد تيلور كأوراكل خاص بك

Solidity
العقود الذكيه
الأوراكل
المستوى المبتدئ
تيلور
29 يونيو 2021
2 دقيقة قراءة

اختبار سريع: بروتوكولك على وشك الانتهاء، ولكنه يحتاج إلى أوراكل للوصول إلى البيانات خارج السلسلة... ماذا تفعل؟

(متطلبات أولية)

يهدف هذا المنشور إلى جعل الوصول إلى تغذية الأوراكل بسيطًا ومباشرًا قدر الإمكان. ومع ذلك، فإننا نفترض ما يلي حول مستوى مهارتك في البرمجة للتركيز على جانب الأوراكل.

الافتراضات:

  • يمكنك التنقل في الطرفية
  • لديك npm مثبت
  • أنت تعرف كيفية استخدام npm لإدارة التبعيات

تيلور هو أوراكل مباشر ومفتوح المصدر جاهز للتنفيذ. يهدف دليل المبتدئين هذا إلى عرض السهولة التي يمكن بها البدء والتشغيل مع تيلور، مما يوفر لمشروعك أوراكل لامركزي بالكامل ومقاوم للرقابة.

نظرة عامة

تيلور هو نظام أوراكل حيث يمكن للأطراف طلب قيمة نقطة بيانات خارج السلسلة (على سبيل المثال، BTC/USD) ويتنافس المراسلون لإضافة هذه القيمة إلى بنك بيانات على السلسلة، يمكن الوصول إليه من قبل جميع عقود إيثريوم الذكية. يتم تأمين مدخلات بنك البيانات هذا بواسطة شبكة من المراسلين القائمين بالحصص. يستخدم تيلور آليات حوافز الاقتصاد المشفر، ويكافئ إرسال البيانات الصادقة من قبل المراسلين ويعاقب الجهات الفاعلة السيئة من خلال إصدار رمز تيلور، وهو Tributes (TRB)، وآلية للنزاع.

في هذا البرنامج التعليمي سوف نتناول:

  • إعداد مجموعة الأدوات الأولية التي ستحتاجها للبدء والتشغيل.
  • استعراض مثال بسيط.
  • سرد عناوين شبكة الاختبار للشبكات التي يمكنك حاليًا اختبار تيلور عليها.

استخدام تيلور

أول شيء تريد القيام به هو تثبيت الأدوات الأساسية اللازمة لاستخدام تيلور كأوراكل خاص بك. استخدم هذه الحزمة (opens in a new tab) لتثبيت عقود مستخدم تيلور:

npm install usingtellor

بمجرد التثبيت، سيسمح هذا لعقودك بوراثة الوظائف من عقد 'UsingTellor'.

عظيم! الآن بعد أن أصبحت الأدوات جاهزة، دعنا ننتقل إلى تمرين بسيط حيث نسترجع سعر البيتكوين:

مثال BTC/USD

قم بوراثة عقد UsingTellor، مع تمرير عنوان تيلور كوسيطة للمنشئ:

إليك مثال:

1import "usingtellor/contracts/UsingTellor.sol";
2
3contract PriceContract is UsingTellor {
4 uint256 public btcPrice;
5
6 //هذا العقد لديه الآن حق الوصول إلى جميع الوظائف في UsingTellor
7
8constructor(address payable _tellorAddress) UsingTellor(_tellorAddress) public {}
9
10function setBtcPrice() public {
11 bytes memory _b = abi.encode("SpotPrice",abi.encode("btc","usd"));
12 bytes32 _queryId = keccak256(_b);
13
14 uint256 _timestamp;
15 bytes _value;
16
17 (_value, _timestamp) = getDataBefore(_queryId, block.timestamp - 15 minutes);
18
19 btcPrice = abi.decode(_value,(uint256));
20 }
21}
إظهار الكل

للحصول على قائمة كاملة بعناوين العقود، راجع هنا (opens in a new tab).

لسهولة الاستخدام، يأتي مستودع UsingTellor مع إصدار من عقد تيلور Playground (opens in a new tab) لتسهيل التكامل. انظر هنا (opens in a new tab) للحصول على قائمة بالوظائف المفيدة.

لتنفيذ أكثر قوة لأوراكل تيلور، تحقق من القائمة الكاملة للوظائف المتاحة هنا (opens in a new tab).

آخر تحديث للصفحة: 21 أكتوبر 2025

هل كانت تعليمات الاستخدام هذه مفيدة؟