تقنية اكتسبت العملات المشفرة التي تعمل بتقنية Blockchain الكوكب نظرًا لأنها أكثر أشكال العملة أمانًا ولامركزية مع عدم وجود بنك يعمل كوسيط. نظرًا لأن شبكة الويب العالمية هي المورد الوحيد لتداول العملات المشفرة ، فإن عمليات تبادل العملات المشفرة القائمة على الويب تنتج دائمًا قدرًا كبيرًا من البيانات لشركات استشارات blockchain . هذه المعلومات متاحة للجميع - الانتظار بصبر لاستخدامها في الاستثمارات المخطط لها.
ومع ذلك ، تظل أسعار صرف العملات المشفرة شديدة التقلب بسبب طبيعتها القائمة على حجم التجارة. عندما يثير هذا تساؤلات حول صحة العملات المشفرة ، فإنه في الوقت الحالي يخلق أيضًا فرصًا تجارية من أجل:
- مجمعي البيانات ،
- محللو صرف العملات المشفرة
- وشركات استشارات blockchain
تتمثل مهمتهم في تتبع أسعار صرف العملات المشفرة وفحصها من أجل التنبؤ بأدائها في سوق الأوراق المالية. في سعيهم لابتكار أعمالهم وتحويل مستثمري العملات المشفرة إلى عملاء ، يعتمد محللو التبادل بشكل متكرر على تطبيقات الويب التي تجمع البيانات تلقائيًا من هذه الصفقات وتعالجها في شكل قابل للتنفيذ.
أتيحت لـ CISIN مؤخرًا فرصة للعمل في شركة cryptocurrency مشهورة مقرها الولايات المتحدة ، وهي شركة تقييم أسعار صرف العملات المشفرة المماثلة. يتبع تعاوننا مع تطبيق ويب يستند إلى SailsJS قادر على تجميع معلومات التبادل من 20 تبادلًا مختلفًا للعملات المشفرة وإنشاء فهارس سوق مدرجة في القائمة البيضاء لتقييم صناعة العملة المشفرة.
من خلال هذه المقالة ، نهدف إلى مشاركة مغامرات مبرمجي JavaScript المتقدمين معًا:
- استخدام إطار عمل SailsJS للتوصل إلى تطبيق NodeJS
- تكامل بيانات تبادل العملات المشفرة باستخدام 20 خدمة مختلفة تابعة لجهات خارجية
- التحديات التي واجهوها خلال دورة حياة التطوير
إذا كنت تخطط لإنشاء برنامج صافي مجمع معلومات العملة المشفرة ، فقم بالقراءة لتكتشف بالضبط كيف تبدو عملية التطور للحصول على برنامج مشابه.
لنبدأ بإلقاء نظرة على الخصائص الأساسية لتطبيق الويب هذا الذي قمنا بتطويره.
الميزات الرئيسية لمجمع بيانات العملات المشفرة
لفهم الميزات الرئيسية لهذا التطبيق أمر بالغ الأهمية للحصول على فهم أساسي لتبادل العملات المشفرة والمعلومات التي يتم إنشاؤها منها.
ماذا نعرف عن تبادل العملات المشفرة؟
يعمل تبادل العملات المشفرة بنفس الطريقة التي تعمل بها منافذ صرف العملات الورقية لدينا في البنك أو في المطار. أنت تدخل وتتبادل أموالك الأصلية بأي أموال أخرى. بالنسبة للعملات المشفرة ، يتم إجراء هذه التبادلات عبر الإنترنت من خلال موقع بوابة ويب حيث يمكنك تحويل عملتك المشفرة إلى أشخاص آخرين (على سبيل المثال: Bitcoin إلى Ethereum) أو تغييرها إلى عملة ورقية (على سبيل المثال: Bitcoin إلى USD).
هناك العديد من بورصات العملات المشفرة التي يمكن العثور عليها على الشبكة العالمية ، وتشمل بعض البورصات الرئيسية GDAX و Bittrex و CoinEgg و Binance
الحقيقة البسيطة المتمثلة في أن كل سوق من أسواق العملات الرقمية له سعر صرف خاص به ، فليس من السهل على تجار العملات المشفرة استنتاج مؤشر الصناعة للمال أو في أي بورصة يمكنه الحصول على أفضل الأسعار.
هذا هو المكان الذي يساعد فيه تطبيق الإنترنت Totalcryptos المتداولين من خلال جلب معلومات التبادل في 20 تبادلًا مختلفًا للعملات المشفرة وإنشاء مؤشر سوق للعملات المشفرة.
طريقة استرداد بيانات صرف العملات
الطريقة الأكثر موثوقية لجلب المعلومات من أي طرف ثالث بشكل قانوني هي استخدام واجهات برمجة التطبيقات الخاصة بهم. نظرًا لكونها عمليات تبادل أموال ، فإن API عادة ما تكون متاحة لأنها لا تقدم فقط البيانات حول سعر صرف النقود ولكنها توفر أيضًا القدرة على إجراء عمليات التبادل من خلال API الخاصة بهم.
بالنسبة لحالة الاستخدام الخاصة بنا ، نحتاج فقط إلى معلومات سعر الصرف التاريخية والتاريخية للعملات المشفرة.
نظرًا لتحديث بيانات تبادل العملات في الوقت الفعلي بعد كل بضع دقائق ، وجدنا أن مهمة CRON مخصصة مكلفة بتشغيل عريضة سحب البيانات من واجهة برمجة التطبيقات بعد كل بضع دقائق.
القائمة البيضاء لبيانات التبادل الخام باستخدام التمثيلات المرئية
ثم يتم استخدام البيانات المجمعة لإنشاء مجموعات البيانات الخاصة بنا عن طريق حساب متوسط معلومات التبادل لكل نقود. يتم تقييم البيانات التي تم جلبها وتقييمها في جداول ونوع الرسم البياني:
ط) عرض البيانات في شكل جدول
عرض قائمة بالعملات المشفرة المرتفعة المبنية على أفضل الممثلين للعملات المشفرة في سوق الدولار الأمريكي ، مما يؤدي إلى تقديم أفضل أداء للعملات المشفرة في سوق العملات المشفرة وفي النهاية قائمة كاملة بجميع العملات المشفرة
يتم جلب جميع الأعمدة المختلفة التي تراها من لقطة الشاشة التالية من واجهة برمجة التطبيقات الخاصة بمورد تبادل البيانات باستثناء الرسوم البيانية.
ب) عرض البيانات مع الرسوم البيانية
قمنا أيضًا بدمج مكتبتين منفصلتين للرسوم البيانية: الرسوم البيانية C3 والرسوم البيانية Sparkline لتمثيل وظائف العملة المشفرة الفردية.
تم استخدام الرسوم البيانية C3 لعرض التقلبات في سعر الشراء لسعر الصرف للعملة المشفرة.
تم استخدام الرسوم البيانية المتلألئة لإظهار مؤشر TC100 (تكلفة أعلى 100 عملة مشفرة حسب القيمة السوقية) والطريقة التي تنوع بها خلال فترة ما بعد الظهر.
تطوير واجهة برمجة تطبيقات REST مخصصة
في النهاية ، سيتم أيضًا الوصول إلى جميع مؤشرات السوق المدرجة في القائمة البيضاء التي تم إنشاؤها كموجز معلومات JSON من خلال واجهة برمجة تطبيقات REST مصممة خصيصًا. يتيح Total Cryptos REST API الوصول إلى المعلومات الموجودة في قاعدة البيانات الخاصة بهم لأن موجز JSON بحيث يمكن لأي شخص إعادة إنشاء نظام أساسي مماثل مع أي نظام أساسي لتطوير الإنترنت من خلال استخدام بيانات Total Cryptos.
الآن بعد أن أصبح لدينا رؤية موجزة لكل شيء تم تصميمه ، دعنا نلقي نظرة على مجموعة التقنيات التي تم استخدامها.
كومة التكنولوجيا: مجمع بيانات العملات المشفرة
تم إنشاء برنامج تجميع البيانات باستخدام SailsJS (إطار NodeJS المستند إلى MVC). تم إنشاء قالب الواجهة الأمامية في Bootstrap وتم إعداده في Sails Views باستخدام محركات قوالب EJS (Embedded JavaScript).
في نهاية قاعدة البيانات ، تمت معالجة عمليات CRUD باستخدام MySQL.
SailsJS: إطار عمل NodeJS
SailsJS هو أحد أطر NodeJS القليلة جدًا التي تستخدم إصدار تطوير MVC. سمح لنا ذلك بالحفاظ على منطق البرنامج منفصلاً عن كود واجهة المستخدم وإدارة الاتصالات بينهما في طبقة مختلفة.
إلى جانب SailsJS يوفر القدرة على تبديل طبقة التخزين من خلال Waterline ORM الخاص به بحيث يمكننا استخدام Mysql وطرقه القوية لإنتاج استعلامات قاعدة البيانات وتحسينها.
كان السبب الحقيقي الوحيد لاستخدام SailsJS هو تنسيق سير العمل في التطوير والتثبيت مع عدم قطع الزوايا في وظائف التطبيق.
EJS: قوالب JavaScript مضمنة
بخلاف حقيقة أن EJS هو محرك القوالب الرسمي الذي يدعمه SailsJS ، فقد استخدمناه بسبب تركيب HTML الخاص به. على الرغم من أنه كان لدينا خيار استخدام أطر عمل متطورة لواجهة المستخدم مثل Angular أو Jade ، فإن EJS هي ببساطة أكثر المفردات ملاءمة لنمذجة الواجهة الأمامية في SailsJS.
يمكننا استخدام نموذج Bootstrap الجاهز لبدء تقدم الواجهة الخلفية وفي غضون أي وقت من الأوقات تم كتابة رمز وحدة التحكم لإظهار البيانات في وجهات النظر.
التحديات التي تواجهها:
الحفاظ على توحيد معلومات الصرف
تمت برمجة تطبيق التشفير بالكامل لجلب بيانات المبادلة في 20 مزودًا مختلفًا لتبادل العملات المشفرة. تكمن مشكلة جلب المعلومات في تطبيق واحد من مصادر مختلفة في حقيقة أن كل دعم ويب لتبادل البيانات له مصطلحاته الخاصة ، وهيكل تغذية البيانات وطبيعة الاتصال.
هذا يجعل المعلومات الأولية غير متجانسة وغير قابلة للاستخدام لأن وجهات نظرنا الأمامية لا تقبل إلا المعلومات من نموذج خطي. لهذا السبب ، ليس من السهل أبدًا جلب المعلومات وحفظها في قاعدة البيانات.
حلنا:
للتغلب على هذا التحدي ، بدأنا بإنشاء مصفوفة خاصة بنا ستتعامل مع بيانات جميع عمليات التبادل. لقد حددنا هيكلًا خاصًا بنا سيتم استخدامه من خلال وجهات نظر مختلفة عبر الموقع.
ثم للحفاظ على معلومات العملة المشفرة التي تم جلبها داخل المصفوفة بناءً على ترتيبنا ، أنشأنا مثيلات SWITCH متعددة ، يتم تشغيل كل حالة باستخدام حلقة foreach لتحويل البيانات الأولية إلى بنية المصفوفة الخاصة بنا.
تعالج حلقة Foreach التحويل لكل متغير توفره خدمة الإنترنت الخاصة بالتبادل ، وفي نهاية حالة Switch ، أنشأنا مجموعة مخصصة من معلومات التبادل تكون خطية ومتجانسة.
تحسين وقت تحميل البيانات
دائمًا ما يكون الحفاظ على وقت التحميل تحت المراقبة من الأولويات القصوى لأي تطبيق إنترنت نقوم بتطويره لأن هذا يؤثر بشكل مباشر على فعالية البرنامج. بالنسبة لبرنامج ويب كثيف البيانات مثل TotalCrypto ، كان وقت التحميل مصدر قلق متوقع حيث يتعامل موقع الويب مع بيانات حوالي 20 موقعًا متميزًا.
لم يكن تحميل معلومات التبادل بالكامل عند تحميل الصفحة بطريقة تقليدية الطريقة المثلى لتحميل المعلومات ، كما أننا اختبرنا هذا الأمر بشكل مباشر. كشف تطبيق الويب على الفور عن أوقات تحميل عالية بسبب عدد البيانات التي يتم تحميلها عند تحميل الصفحة.
حلنا:
تم نشر الإصلاح باستخدام آلية تحميل المعلومات غير المتزامنة مع AJAX. بهذه الطريقة ، في كل مرة يتم فيها تحميل الصفحة ، تم إجراء مكالمة غير متزامنة في قاعدة البيانات أثناء تحميل الصفحة وترك مكونات HTML / CSS.
لذلك ، في ذلك الوقت اكتمل تحميل الصفحة ، تم تحميل المعلومات تقريبًا واستغرق تحميل البيانات بالكامل بضع ثوانٍ فقط.
كان بمثابة نهج اتجاه زمني لتحميل محتوى تطبيق الويب مما أدى على الفور إلى معدل تحميل محسن للبرنامج
استنتاج
باستخدام واجهة برمجة التطبيقات المطورة بشكل عام ، قمنا أيضًا بتوسيع جهود التطوير لمكوِّن إضافي لبرنامج WordPress يوفر جميع بيانات تبادل العملات المشفرة ومؤشرات السوق الفريدة مثل أداة WordPress. مع البرنامج بأكمله الذي تم تطويره في SailsJS حيث تكون العناصر المرئية منفصلة عن المنطق الأساسي ، فإن برنامج Node.JS هذا قابل للتكيف بقدر ما يتلقاه.
يحمل المستقبل القريب بعض فرص التطوير المثيرة للأفراد الذين يعملون كشركاء في التنمية لشركة Totalcryptos. ترقبوا موقعنا على الإنترنت للحصول على مزيد من المعلومات حول أحدث التطورات.
حتى ذلك الحين ، اتصل بنا لإبلاغنا باستفساراتك المتعلقة بهذا المنشور أو إذا كنت تبحث عن توظيف مطور ويب لبناء وإنشاء تطبيق الويب الخاص بك. وداعا!