كيفية تطوير DApp على VeChain (II): الإعداد والتجول

المزامنة: بيئة سطح المكتب VeChain DApp.

الإعداد في 3 دقائق

عظيم! أرى أنك نجوت من آخر برنامج تعليمي ، والآن حان الوقت لبدء البرمجة. أول شيء نحتاجه هو بيئة المزامنة.

حسنًا ، فلنستنسخ شفرة مصدر مشروع Sync في محطة طرفية ونضعها في وضع dev:

> ملاعب مكدير
> الملاعب
> git clone git@github.com: vechain / thor-sync.electron.git
> cd thor-sync.electron /
> العقدة - v # تأكد من تثبيت node.js> V10.0.0
> npm تثبيت # تثبيت التبعيات
> npm run dev # قم بتشغيل المزامنة في وضع dev

عندما ترى نافذة مزامنة الإلكترون تظهر ، فنحن جميعًا على استعداد!

الحذاء: تشغيل npm dev

كزة حول: دراية المزامنة

حسنًا ، دعونا الآن نضع الجهاز جانباً ونركز أكثر على نافذة واجهة المستخدم الرسومية. Sync هي محفظة تشبه المستعرض مضمن مع مكتبة Connex.js والتي يمكنها أن تقدم لصفحة الويب التي تعمل بداخلها القدرة على التواصل مع VeChain blockchain.

إنشاء محفظة اختبار

أولاً ، دعنا ننشئ محفظة اختبار لأنفسنا:

انتقل إلى لوحة المحفظة لعرض المحافظ الحالية.

رائع ، الآن انقر على أيقونة "محافظ" في الجزء العلوي الأيمن ، إذا كنت على شبكة اختبار ، فهناك بالفعل 3 محافظ متاحة للاختبار: "Foo" ، "Baz" و "Bar". اتركهم وشأنهم ، دعونا نضغط على زر "إنشاء" لإنشاء واحد جديد.

إنشاء محفظة جديدة للاختبار لدينا
يمكنك أيضًا استيراد محفظتك الحالية من Ethereum إلى Sync ، وكذلك استخدام منشئ طرف ثالث لإنشاء محفظة ، مثل VeChain Address Generator على github.

اتبع الإرشادات الموجودة على Sync الآن لدي محفظة بها عنوان عام ، وهي تحتوي حاليًا على 0 VET و 0 VTHO :

0xa7a609b928c4eac077d0e5640f3fa650746c4fcf

وقود المحفظة مع VTHO

بعد ذلك ، نملأ المحفظة التي تم إنشاؤها حديثًا عن طريق إضافة بعض أموال VTHO إليها. يستخدم VTHO كرسوم تغذي المعاملات وعلى شبكة الاختبار. أين يمكن الحصول عليها؟ عرض DApp لفريق VeChain الأساسي: صنبور VET / VTHO!

تابع ، قم بزيارة عنوان URL على الويب: https://faucet.vecha.in في Sync ، وسترى صفحة ويب مثيرة للاهتمام تقدم VTHO على شبكة اختبار مجانًا:

احصل على VET / VTHO مجانًا على شبكة الاختبار

اتبع زر "رموز المطالبة" في منتصف صفحة الويب ودعنا نحصل على بعض VET / VTHO مجانًا للاختبار. تذكر أن تختار المحفظة التي قمت بإنشائها ، وأدخل كلمة المرور وفقًا لذلك للمطالبة بالرموز. لقد طلبت بالفعل 500 VET مع 500 VTHO.

العب مع واجهات برمجة التطبيقات Connex.js

الآن وبعد أن أصبح لدينا أموال على شبكة الاختبار ، دعنا ننتقل لاستكشاف وظائف blockchain التي توفرها Sync ، مكتبة connex.js. دعنا نفتح علامة تبويب فارغة جديدة ، ثم نبدل أدوات المطور لنرى ما هو المستخدم في:

افتح أدوات المطور لزيارة Connex.

بمجرد تشغيل وحدة التحكم الخاصة بأدوات المطورين (تمامًا مثل أدوات مطوري Chrome) ، اكتب الرمز التالي:

> connex
 {الإصدار: "1.2.0" ، ثور: {...} ، البائع: {...}}
ثور: {شريط: ƒ ، حساب: ƒ ، كتلة: ƒ ، ...}
البائع: {علامة: ƒ ، مملوكة: ƒ}
إصدار: "1.2.0"
__proto __: كائن

نعم ، كل نافذة قد زرعت بالفعل كائن connex في صفحة الويب. ويمكن لهذا الكائن المصاحب القيام بالكثير من الأشياء باستخدام شبكة VeChain ، دعنا نستكشف بعض الأشياء البسيطة:

العب مع الحساب ()

> var acc = connex.thor.account ('0xa7a609b928c4eac077d0e5640f3fa650746c4fcf')
> acc.get (). ثم (info => {console.log (info)})
الوعد {}
{balance: "0x1b1ae4d6e2ef500000" ، الطاقة: "0x1b1af7398584067000" ، hasCode: false}
> parseInt ('0x1b1ae4d6e2ef500000')
500000000000000000000
> parseInt ('0x1b1af7398584067000')
500005175000000000000

هنا استفسرت للتو عن محفظتي التي تم إنشاؤها حديثًا ، والتي ينتج عنها كائن استجابة من حقول "التوازن" و "الطاقة" و "hasCode". "الرصيد" هو VETO الذي يحمله هذا الحساب ، و "الطاقة" هي مبلغ VTHO.

العب مع شريط ()

في شبكة VeChain ، لا نعرف بالضبط متى يتم إنتاج كتلة جديدة ، لكننا نريد بالتأكيد أن يتم إخطارنا عند إنتاجها. مؤشر يعطينا هذا ثقب نظرة خاطفة للحصول على إخطار. ما زلنا نستخدم وحدة التحكم في تصحيح الأخطاء في المزامنة:

> var t = connex.thor.ticker ()
غير معرف
> t.next (). ثم (() => {console.log ('كتلة جديدة!')})
كتلة جديدة!

رائع أليس كذلك؟ بعد حوالي 3 إلى 10 ثوانٍ ، تتم طباعة رسالة "block الجديدة!" ونعلم أن هناك كتلة جديدة تضاف إلى الجزء العلوي من السلسلة.

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

العب مع المكالمة ()

في الواقع ، فإن عقد VTHO نفسه هو عقد متوافق مع ERC20 / VIP180 يعيش على VeChain! وأنت تعرف ماذا ، يحدث لي معرفة عنوانه على شبكة الاختبار:

0x0000000000000000000000000000456e65726779

بالنسبة لأولئك الذين لا يفهمون ERC20 / VIP180 ، فإن العقد هو كائن طويل العمر على blockchain. التفكير في الأمر على أنه مجموعة من إرشادات البرنامج وتخزين دائم بسيط حر الشكل يتحكم فيه البرنامج. تعد عقود ERC20 / VIP180 عبارة عن برنامج "بنك افتراضي" بسيط يتتبع كل عميل وتوازنه في عملة / رمز رمزي افتراضي محدد.

لذلك ، لدينا عنوان العقد ، كيف نسميها؟ بسيط جدا.

> const balanceOfABI = {
  "ثابت": صحيح ،
  "المدخلات": [
    {
      'name': '_owner' ،
      "النوع": "العنوان"
    }
  ]،
  'name': 'balanceOf' ،
  "المخرجات": [
    {
     "الاسم": "الرصيد" ،
     "النوع": "uint256"
    }
  ]،
  "مستحق": خطأ ،
  "stateMutability": "عرض" ،
  "النوع": "الوظيفة"
}
> const balanceOfMethod = connex.thor.account ('0x00000000000000000000000000000000456e65726779'). method (balanceOfABI)
> const balanceInfo = في انتظار balanceOfMethod.call ('0xa7a609b928c4eac077d0e5640f3fa650746c4fcf')
> console.log (balanceInfo)
{data: "0x000000000000000000000000000000000000000000000000001b1b428acf29437000" ، الأحداث: Array (0) ، التحويلات: Array (0) ، gasUsed: 870 ، عادت: false ، ...}

نحن نوفر أولاً طريقة العقد ABI (توقيع الوظيفة) ثم ننشئ معالجًا بعنوان نشر العقد. أخيرًا ، نسمي طريقة العقد مع call () ونزودها بمعلمة ، وعنوان الحساب الذي يهمنا. عظيم! الآن لدينا النتيجة!

ملخص

يكفي لدراسة اليوم!

لتلخيص ، لدينا:

  1. سالك عبر تثبيت Sync.
  2. قم بتشغيل مثال DApp في Sync واحصل على بعض VET / VTHO مجانًا.
  3. العب مع VeChain blockchain مع كائن javascript connex الذي تم غرسه مسبقًا.

بدءًا من البرنامج التعليمي التالي ، سنستخدم معرفتنا التي تم تعلمها اليوم وننشئ صفحة ويب (الواجهة الأمامية) لعقد ذكي حالي ، عقد VTHO (نعم ، لقد قام بذلك رجل جيد بالنسبة لنا ، نحن ببساطة نستعيره). كن مستعدًا ودعنا نذهب!

جميع حلقات البرامج التعليمية:

  • كيفية تطوير DApp على VeChain (I) : مقدمة
  • كيفية تطوير DApp على VeChain (II): الإعداد والتجول
  • كيفية تطوير DApp على VeChain (III): المكونات والترميز

مثل بلدي الدروس؟ في انتظارك للتبرع باستخدام Sync بالنقر فوق أدناه: