✅ تحليل مفصل لـ Crawler (CrawlPi) المستودع: https://t.co/DjKmIYN0OD 1. الغرض العام CrawlPi هو برنامج تجميع بيانات (crawler) يعمل بـ Node.js ويستخلص البيانات في الوقت الحقيقي من شبكة Pi (القائمة على Stellar). الهدف الرئيسي هو جمع جميع البيانات الضرورية (الكتل، المعاملات، العمليات، التأثيرات، الأرصدة، المُستلمون/القيود، إلخ) وتخزينها في MySQL، مع دفع إحصائيات وتحليلات إلى Firebase Firestore لموقع ExplorePi. على عكس مُستكشف Pi الرسمي، فهو يحافظ على قاعدة بيانات مفهرسة خاصة به → مما يمكّن من إنشاء لوحات تحكم وتحليلات أسرع وأكثر غنى. 2. مجموعة التقنيات المستخدمة المكون التقنية المستخدمة التشغيل Node.js البلوك تشين stellar-sdk + Pi Horizon API قاعدة البيانات MySQL (mysql2) قاعدة بيانات التحليلات Firebase Firestore المجدول node-schedule (في getdata.js) التكوين .env + dotenv الاعتمادات (package.json): stellar-sdk, mysql2, firebase-admin, dotenv, node-schedule 3. منطق العمل (index.js) // الملف الرئيسي block.block() // تدفق الكتل effect.crawl() // تدفق التأثيرات operation.operation() // تدفق العمليات tx.transaction() // تدفق المعاملات (الرسوم) يستخدم التدفق (server.ledgers().stream(), .transactions().stream(), إلخ). يكتب البيانات مباشرة إلى MySQL فور وصول كتل/عمليات/تأثيرات جديدة. يدعم الاستمرارية السلسة باستخدام نظام المُرشحات (المخزنة في .env). اضغط q لإيقاف التشغيل بلطف — يحفظ أحدث المُرشحات في ملف last.txt. 4. الوحدات (مجلد lib/) — تفصيلية الملف المسؤولية ملاحظات مهمة block.js تدفق الكتل (Ledger) → يكتب إلى جدول block مدة الكتلة (الإنفاق)، إجمالي Pi، صندوق الرسوم، عدد المعاملات الناجحة/الفاشلة transaction.js يحفظ رسوم المعاملات الناجحة في جدول fee يعالج المعاملات الناجحة فقط operation.js تدفق العمليات → جدول operation + إنشاء حساب خاص نوع 0 (create_account) يميز بين Pioneer و CoreTeam effect.js أهم وحدة. تتعامل مع تحديث الأرصدة، خطوط الثقة، المُستلمون/القيود الإضافة/الخصم، إنشاء/حذف خطوط الثقة، الرصيد القابل للمطالبة، القيود، حالة المُستلمين database.js مجموعة اتصالات MySQL + ملّفات ex_sql() و query() مزيج من اتصالات المجموعة والاتصالات الفردية firestore.js تهيئة Firebase Admin (من ملف .env) يدفع الإحصائيات إلى Firestore 5. مخطط قاعدة البيانات (database.sql) 6 جداول رئيسية: Account → public_key, balance, Role (Pioneer/CoreTeam), lock, created_at asset → تتبع خطوط الثقة (الأصول غير الأصلية) block → ملخص لكل كتلة (بما في ذلك وقت الإنفاق) claimant → آلية القيود/المطالبة بـ Pi (lock_time, unlock_time, الحالة 0/1/2, claimed_at) fee → رسوم المعاملات operation → جميع العمليات (مع type_i) معالجة خاصة (في وحدة Effect): إضافة/خصم الرصيد الأصلي إنشاء/حذف خطوط الثقة إنشاء رصيد قابل للمطالبة (القيود) المطالبات من المُستلمين (الحالة 1 = مطالبة عادية، 2 = استرداد من فريق Core) 6. التكوين (.env.example) HORIZON_URL=https://t.co/knkyx5qMhh FIRST_ACCOUNT=GDL35MYH4XX2KH4T5AILQQC2FN4NIOQF2QNKXKX74R2B2XHWWWQ4SFU4 # المُرشحات (جاهزة للتشغيل الأول) LEDGER_CURSOR=8589934592 TX_CURSOR=60129546240 OP_CURSOR=60129546240 EFFECT_CURSOR=1 pre_time=2020-12-31T22:47:31Z # MySQL DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=explorepi DB_USERNAME=... DB_PASSWORD=... # Firebase (Firestore) FIRESTOREID=... FIRESTORE_EMAIL=... FIRESTORE_KEY=... 7. محرك التحليلات (getdata.js) نص مجدول منفصل (باستخدام node-schedule): ينفذ استعلامات محددة كل ساعة/يوم. يدفع النتائج إلى مستند statistic/data في Firestore. يحسب مقاييس غنية: أفضل 10 حسابات ثراءً (بعد الرسوم) وقت الكتلة (يومي/شهري) أكبر المرسلين للمدفوعات أكبر دافعي الرسوم توزيع العمليات إحصائيات المُستلمين/القيود (المُطالب بها، المستردة، فترات القيود، إلخ) عدد المستخدمين النشطين يوميًا، المدفوعات اليومية، الرسوم اليومية إجمالي Pi، إجمالي المحجوز، إجمالي المُستكشفين، إلخ. يقرأ الموقع هذه البيانات مباشرة من Firestore → لوحات تحكم سريعة جدًا. مشروع مرجعي قيم للغاية لأي شخص يرغب في إجراء تحليل بيانات في نظام Pi. @nkokkalis @inanjaccuse @Gerek_yokkikiki @mehmetozal @erdincdincer13 @incegorbaskan @tekin63081 @Chengdiao @DrChengdiaoFan @PiCoreTeam @krakenfx #PiNetwork #CiDiGames #Web3Gaming

مشاركة






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