فيما يلي دليل حول كيفية تشغيل Ziggurat 3.0 Crawler لـ Zcash بالإضافة إلى البرامج المرتبطة به Crunchy وP2P-Viz على Ubuntu 22.04 من أجل جمع معلومات شبكة Zcash وتصوّرها.
يتبع الفيديو المرتبط أدناه العملية نفسها.
أو افتح ملف readme في
'/runziggurat/zcash/src/tools/crawler/README.md'
تحتوي هذه الصفحة على معلومات حول الاستخدام المحدد.
Code-highlight
$ cargo run --release --features crawler --bin crawler -- --help
OPTIONS:
-c, --crawl-interval <CRAWL_INTERVAL>
The main crawling loop interval in seconds [default: 5]
-h, --help
Print help information
-r, --rpc-addr <RPC_ADDR>
If present, start an RPC server at the specified address
-s, --seed-addrs <SEED_ADDRS>...
A list of initial standalone IP addresses and/or DNS servers to connect to
-n, --node-listening-port <NODE_LISTENING_PORT>
Default port used for connecting to the nodes [default: 8233]
-V, --version
Print version information
يُعد --seed-addrs \ --dns-seed الوسيط المطلوب الوحيد، ويحتاج إلى عنوان محدد واحد على الأقل لكي يعمل.
الأمر 'cargo run --release --features crawler --bin crawler -- --help' هو أمر التشغيل الحرفي وسيطبع قائمة المساعدة المعروضة.
شغّل الأمر
Code-highlight
cargo run --release --features crawler --bin crawler -- --help
سيؤدي ذلك إلى ترجمة البرنامج والتأكد من أن كل شيء يعمل بشكل صحيح.
لتشغيل Crawler، يلزم إضافة العلامة '--seed-addrs' إلى أمر البدء، بحيث تحتوي على عنوان IP واحد صالح على الأقل لعقدة Zcash. يجب السماح للـ crawler بالعمل لمدة زمنية معقولة للحصول على نتيجة دقيقة. يمكن العثور على بعض عناوين IP النموذجية للعقد على https://mainnet.zcashexplorer.app/nodes.
للحصول على معلومات من Crawler أثناء تشغيله، يلزم إضافة العلامة '--rpc-addr' إلى أمر البدء. هذا ليس مطلوبًا لتشغيل الـ crawler وحده، لكنه بخلاف ذلك سيتطلب إيقاف الـ crawler (ctrl+c أو SIGKILL) لعرض أي معلومات على الإطلاق.
سيبدأ الـ crawler بالتواصل مع الشبكة (افتراضيًا كل 20 ثانية) وجمع بيانات الشبكة.
يمكن عرض المعلومات من Crawler باستخدام curl لاستعلام العقدة (وهذا يتطلب jq لعرض تلك المعلومات).
تم تعيين عنوان Crawler RPC في هذا المثال إلى '127.0.0.1:54321'
سيعرض هذا بيانات '.protocol_version' المجمعة حاليًا والموجودة داخل الحقل '.result'. الحقل '.result' كبير جدًا، لذلك من المفيد استدعاء أجزاء محددة منه بدلًا من ذلك. من أنواع البيانات المفيدة الأخرى '.num_known_nodes' و'.num_good_nodes' و'.user_agents' وغيرها. راجع قسم المقاييس هنا
لتشغيل Crunchy وP2P-Viz، يلزم تمرير '.result' إلى ملف .json.
سيؤدي ذلك إلى إنشاء ملف 'latest.json' في الدليل الحالي. سيُستخدم ملف 'latest.json' هذا مع Crunchy.
عند هذه النقطة، يمكن إيقاف Crawler باستخدام 'ctrl+c' إذا لم تعد هناك حاجة إلى مزيد من البيانات. سيقوم Crawler بإخراج تقرير إلى الطرفية يتضمن معلومات مفيدة.
Crunchy
يُطلب Crunchy لتجميع ملف json الناتج لاستخدامه مع P2P-Viz.
لبناء Crunchy، انتقل إلى مجلد '/runziggurat' الخاص بك
لاستنساخ مستودع Crunchy، شغّل الأوامر التالية
Code-highlight
git clone https://github.com/runziggurat/crunchy.git
cd crunchy
انسخ والصق ملف 'latest.json' داخل مجلد 'crunchy/testdata/'.
من النافذة المنبثقة لمستكشف الملفات، اختر ملف 'state.json'.
سيتم ملء خريطة العالم في مستكشف العقد ببيانات الملف. راجع ملف readme هنا لمزيد من التفاصيل حول خيارات الاستخدام والإعدادات.
نصائح!
يمكنك ضبط Crawler على زحف مؤقت ببساطة باستخدام الأمر 'timeout' الذي سيصدر أمر إيقاف محددًا بعد مدة زمنية معينة. شغّل 'timeout --help' لمزيد من المعلومات.
سيقوم الأمر التالي ببدء الـ crawler وكذلك إيقافه تلقائيًا بعد 50 دقيقة.