Ce qui suit est un guide expliquant comment exécuter le Crawler Ziggurat 3.0 pour Zcash ainsi que les programmes associés Crunchy et P2P-Viz sur Ubuntu 22.04 afin de collecter et de visualiser les informations du réseau Zcash.
La vidéo liée ci-dessous suit le même processus.
Commencez par appliquer les mises à jour habituelles.
Exécutez les commandes suivantes :
Code-highlight
sudo apt update
sudo apt upgrade
Crawler du réseau Zcash
Le Crawler Zcash se trouve dans un dossier nommé 'zcash' ; il peut donc être judicieux de créer un nouveau répertoire avant de cloner le crawler (dépôt runziggurat/zcash).
Depuis le répertoire /Home, exécutez les commandes suivantes :
Code-highlight
mkdir runziggurat
cd runziggurat
git clone https://github.com/runziggurat/zcash.git
cd zcash
Ou ouvrez le readme à l’emplacement
'/runziggurat/zcash/src/tools/crawler/README.md'
Cette page contient des informations sur l’utilisation spécifique.
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 est le seul argument requis et nécessite au moins une adresse spécifiée pour fonctionner.
La commande 'cargo run --release --features crawler --bin crawler -- --help' est la commande d’exécution littérale et affichera le menu d’aide montré.
Exécutez la commande
Code-highlight
cargo run --release --features crawler --bin crawler -- --help
Cela compilera le programme et garantira que tout fonctionne correctement.
Pour exécuter le Crawler, il est nécessaire d’ajouter un indicateur '--seed-addrs' à la commande de démarrage, contenant au moins une adresse IP de nœud Zcash valide. Le crawler doit être autorisé à s’exécuter pendant un laps de temps raisonnable afin d’obtenir un résultat précis. Quelques exemples d’adresses IP de nœuds peuvent être trouvés sur https://mainnet.zcashexplorer.app/nodes.
Pour obtenir des informations depuis le Crawler pendant son exécution, il est nécessaire d’ajouter l’indicateur '--rpc-addr' à la commande de démarrage. Cela n’est pas requis pour simplement exécuter le crawler lui-même, mais sinon il faudra arrêter le crawler (ctrl+c ou SIGKILL) pour afficher la moindre information.
Le crawler commencera à communiquer avec le réseau (par défaut toutes les 20 secondes) et à collecter les données du réseau.
Les informations du Crawler peuvent être affichées en utilisant curl pour interroger le nœud (cela nécessite jq pour afficher ces informations).
L’adresse RPC du Crawler dans cet exemple est définie sur '127.0.0.1:54321'
Cela affichera les données actuelles '.protocol_version' collectées, contenues dans le champ '.result'. Le champ '.result' est très volumineux, il est donc utile d’en appeler des parties spécifiques à la place. D’autres types de données utiles sont '.num_known_nodes', '.num_good_nodes', '.user_agents', etc. Voir la section métriques Ici
Pour exécuter Crunchy et P2P-Viz, il est nécessaire de rediriger le '.result' vers un fichier .json.
Cela créera un fichier 'latest.json' dans le répertoire courant. Ce fichier 'latest.json' sera utilisé avec Crunchy.
À ce stade, le Crawler peut être arrêté avec 'ctrl+c' si aucune donnée supplémentaire n’est requise. Le Crawler affichera dans le terminal un rapport contenant des informations utiles.
Crunchy
Crunchy est nécessaire pour agréger le fichier json de sortie en vue de son utilisation avec P2P-Viz.
Pour compiler Crunchy, naviguez vers votre dossier '/runziggurat'
Pour cloner le dépôt Crunchy, exécutez les commandes suivantes
Code-highlight
git clone https://github.com/runziggurat/crunchy.git
cd crunchy
Copiez et collez le fichier 'latest.json' dans le dossier 'crunchy/testdata/'.
Sélectionnez 'Geolocation', puis sélectionnez 'Choose state file'.
Dans la fenêtre de l’explorateur de fichiers, sélectionnez le fichier 'state.json'.
La carte du monde de l’explorateur de nœuds se remplira avec les données du fichier. Consultez le readme Ici pour plus de détails sur les options d’utilisation et les paramètres.
CONSEILS !
Vous pouvez configurer le Crawler pour une exploration temporisée simplement avec la commande 'timeout', qui enverra une commande d’arrêt spécifique après une durée définie. Exécutez 'timeout --help' pour plus d’informations.
La commande suivante démarrera le crawler et l’arrêtera aussi automatiquement après 50 min.
Le 'latest.json' peut être appelé et écrit dans le '/testdata' afin que vous n’ayez pas à le copier-coller manuellement.
CONSEILS !
Les informations d’adresse IP peuvent être récupérées à partir de la sortie puis utilisées pour réensemencer le Crawler au démarrage (--seed-addrs). Cela réduira le temps nécessaire pour effectuer une exploration complète !