Aşağıda, Zcash ağ bilgilerini toplamak ve görselleştirmek için Ubuntu 22.04 üzerinde Zcash için Ziggurat 3.0 Crawler ile ilişkili Crunchy ve P2P-Viz programlarını nasıl çalıştıracağınıza dair bir rehber bulunmaktadır.
Aşağıda bağlantısı verilen video aynı süreci takip etmektedir.
Zcash Crawler, 'zcash' adlı bir klasörün içinde yer alır; bu nedenle crawler’ı (runziggurat/zcash deposu) klonlamadan önce yeni bir dizin oluşturmanız tavsiye edilebilir.
/Home dizininden aşağıdaki komutları çalıştırın:
Code-highlight
mkdir runziggurat
cd runziggurat
git clone https://github.com/runziggurat/zcash.git
cd zcash
Veya şu konumdaki readme dosyasını açın
'/runziggurat/zcash/src/tools/crawler/README.md'
Bu sayfa, belirli kullanımlara dair bilgiler içerir.
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 tek zorunlu argümandır ve çalışması için en az bir belirtilmiş adrese ihtiyaç duyar.
'cargo run --release --features crawler --bin crawler -- --help' komutu, birebir çalıştırma komutudur ve gösterilen yardım menüsünü yazdıracaktır.
Komutu çalıştırın
Code-highlight
cargo run --release --features crawler --bin crawler -- --help
Bu, programı derleyecek ve her şeyin düzgün çalıştığını doğrulayacaktır.
Crawler’ı çalıştırmak için, başlangıç komutuna en az bir geçerli Zcash düğüm IP adresi içeren bir '--seed-addrs' bayrağı eklemek gerekir. Doğru bir sonuç elde etmek için crawler’ın makul bir süre çalışmasına izin verilmelidir. Bazı örnek düğüm IP adresleri https://mainnet.zcashexplorer.app/nodes adresinde bulunabilir.
Crawler çalışırken ondan bilgi almak için, başlangıç komutuna '--rpc-addr' bayrağını eklemek gerekir. Bu yalnızca crawler’ı çalıştırmak için gerekli değildir, ancak aksi takdirde herhangi bir bilgiyi görüntülemek için crawler’ı durdurmanız gerekir (ctrl+c veya SIGKILL).
Crawler ağ ile iletişim kurmaya (varsayılan olarak her 20 saniyede bir) ve ağ verilerini toplamaya başlayacaktır.
Crawler’dan alınan bilgiler, düğümü sorgulamak için curl kullanılarak görüntülenebilir (bu bilgiyi göstermek için jq gerekir).
Bu örnekte Crawler RPC adresi '127.0.0.1:54321' olarak ayarlanmıştır.
Bu, '.result' alanı içinde bulunan mevcut toplanmış '.protocol_version' verisini görüntüleyecektir. '.result' alanı çok büyüktür, bu nedenle onun belirli bölümlerini çağırmak daha kullanışlıdır. Diğer faydalı veri türleri arasında '.num_known_nodes', '.num_good_nodes', '.user_agents' vb. bulunur. Metrikler bölümüne Buradan bakın
Crunchy ve P2P-Viz’i çalıştırmak için, '.result' çıktısını bir .json dosyasına yönlendirmek gerekir.
Bu, mevcut dizinde bir 'latest.json' dosyası oluşturacaktır. Bu 'latest.json' dosyası Crunchy ile kullanılacaktır.
Bu noktada, artık daha fazla veriye ihtiyaç yoksa Crawler 'ctrl+c' ile durdurulabilir. Crawler, terminale faydalı bilgiler içeren bir rapor yazdıracaktır.
Crunchy
Crunchy, çıktıdaki json dosyasını P2P-Viz ile kullanılmak üzere bir araya getirmek için gereklidir.
Crunchy’yi derlemek için '/runziggurat' klasörünüze gidin
Crunchy deposunu klonlamak için aşağıdaki komutları çalıştırın
Code-highlight
git clone https://github.com/runziggurat/crunchy.git
cd crunchy
'Geolocation' seçeneğini seçin ve ardından 'Choose state file' seçeneğini seçin.
Açılan dosya gezgini penceresinden 'state.json' dosyasını seçin.
Düğüm gezgini Dünya Haritası, dosya verileriyle dolacaktır. Kullanım seçenekleri ve ayarlar hakkında daha fazla ayrıntı için readme’ye Buradan bakın.
İPUÇLARI!
Crawler’ı zamanlanmış bir tarama için yalnızca 'timeout' komutuyla ayarlayabilirsiniz; bu komut belirlenen sürenin ardından belirli bir sonlandırma komutu gönderir. Daha fazla bilgi için 'timeout --help' çalıştırın.
Aşağıdaki komut, crawler’ı başlatacak ve ayrıca 50 dakika sonra otomatik olarak durduracaktır.
'latest.json', '/testdata' içine çağrılıp yazdırılabilir; böylece elle kopyalayıp yapıştırmanız gerekmez.
İPUÇLARI!
IP adresi bilgileri çıktıdan toplanabilir ve ardından başlangıçta Crawler’ı yeniden seed etmek için (--seed-addrs) kullanılabilir. Bu, tam bir tarama gerçekleştirmek için gereken süreyi azaltacaktır!