Berikut adalah panduan tentang cara menjalankan Ziggurat 3.0 Crawler untuk Zcash serta program terkait Crunchy dan P2P-Viz pada Ubuntu 22.04 untuk mengumpulkan dan memvisualisasikan informasi jaringan Zcash.
Video yang ditautkan di bawah ini mengikuti proses yang sama.
Zcash Crawler berada di dalam sebuah folder bernama 'zcash', jadi disarankan untuk membuat direktori baru sebelum melakukan kloning crawler (repo runziggurat/zcash).
Dari direktori /Home, jalankan perintah berikut:
Code-highlight
mkdir runziggurat
cd runziggurat
git clone https://github.com/runziggurat/zcash.git
cd zcash
Atau buka readme di
'/runziggurat/zcash/src/tools/crawler/README.md'
Halaman ini berisi informasi tentang penggunaan spesifik.
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 adalah satu-satunya argumen yang diperlukan dan membutuhkan setidaknya satu alamat yang ditentukan agar dapat berjalan.
Perintah 'cargo run --release --features crawler --bin crawler -- --help' adalah perintah jalan literal dan akan mencetak menu bantuan yang ditampilkan.
Jalankan perintah ini
Code-highlight
cargo run --release --features crawler --bin crawler -- --help
Ini akan mengompilasi program dan memastikan semuanya berfungsi dengan baik.
Untuk menjalankan Crawler, kamu perlu menambahkan flag '--seed-addrs' pada perintah awal, yang berisi setidaknya satu alamat IP Zcash node yang valid. Crawler harus dibiarkan berjalan dalam jangka waktu yang wajar untuk mendapatkan hasil yang akurat. Beberapa contoh alamat IP node dapat ditemukan di https://mainnet.zcashexplorer.app/nodes.
Untuk mendapatkan informasi dari Crawler saat sedang berjalan, kamu perlu menambahkan flag --rpc-addr ke perintah awal. Hal ini tidak hanya diperlukan untuk menjalankan crawler itu sendiri, tetapi jika tidak dilakukan, kamu harus menghentikan crawler (ctrl+c atau SIGKILL) agar informasi apa pun dapat ditampilkan.
Crawler akan mulai berkomunikasi dengan jaringan (default setiap 20 detik) dan mengumpulkan data jaringan.
Informasi dari Crawler dapat ditampilkan dengan menggunakan curl untuk melakukan query ke node (ini memerlukan jq untuk menampilkan info tersebut).
Alamat RPC Crawler dalam contoh ini diatur ke '127.0.0.1:54321'
Ini akan menampilkan data '.protocol_version' yang saat ini dikumpulkan dan terdapat di dalam field '.result'. Field '.result' sangat besar sehingga lebih berguna untuk memanggil bagian-bagian spesifik darinya saja. Tipe data berguna lainnya adalah '.num_known_nodes', '.num_good_nodes', '.user_agents' dan lain-lain. Lihat bagian metrik Di sini
Untuk menjalankan Crunchy dan P2P-Viz, kamu perlu mengarahkan output '.result' ke dalam sebuah file .json.
Ini akan membuat file 'latest.json' di direktori saat ini. File 'latest.json' ini akan digunakan dengan Crunchy.
Pada titik ini, Crawler dapat dihentikan dengan 'ctrl+c' jika tidak ada lagi data yang diperlukan. Crawler akan mengeluarkan laporan berisi informasi bermanfaat ke terminal.
Crunchy
Crunchy diperlukan untuk mengagregasi file json output agar dapat digunakan dengan P2P-Viz.
Untuk membangun Crunchy, navigasikan ke folder '/runziggurat' kamu
Untuk melakukan clone ke repo Crunchy, jalankan perintah berikut
Code-highlight
git clone https://github.com/runziggurat/crunchy.git
cd crunchy
Salin dan tempel file 'latest.json' ke dalam folder 'crunchy/testdata/'.
Pilih 'Geolocation' lalu pilih 'Choose state file'.
Dari jendela pop-up penjelajah berkas, pilih berkas 'state.json'.
Peta Dunia explorer node akan terisi dengan data file tersebut. Lihat readme Here untuk detail lebih lanjut mengenai opsi penggunaan dan pengaturan.
TIPS!
Kamu dapat mengatur Crawler pada jadwal crawl tertentu cukup dengan perintah 'timeout' yang akan memberikan perintah kill spesifik setelah jangka waktu yang ditentukan. Jalankan 'timeout --help' untuk informasi lebih lanjut.
Perintah berikut akan memulai dan juga menghentikan crawler secara otomatis setelah 50 menit.
'latest.json' dapat dipanggil dan ditulis ke dalam '/testdata' sehingga kamu tidak perlu menyalin dan menempelnya secara manual.
TIPS!
Informasi Alamat IP dapat dikumpulkan dari output dan kemudian digunakan untuk melakukan reseed pada Crawler saat memulai (--seed-addrs). Hal ini akan mengurangi waktu yang diperlukan untuk melakukan crawl secara penuh!