Les parachains sont devenues extrêmement populaires pour créer des cas d'utilisation uniques, tout en maintenant une interopérabilité transparente entre les différentes parachains et blockchains, en particulier au sein de l'écosystème Polkadot. Pourtant, sous la surface du codage et de la mise en œuvre de la logique métier sur les parachains, un labyrinthe d’activités DevOps vitales – cruciales pour leur déploiement, leur gestion et leur mise à l’échelle – restent souvent négligées.
Avant qu'une parachain n'entre en production, il est essentiel de la soumettre à des tests intenses dans un environnement de réseau principal simulé. Zombienet devient un outil inestimable dans ce contexte pour tester la résilience de la parachain en la faisant passer par de nombreux scénarios de force brute, reproduisant tous les défis possibles du monde réel qu'elle pourrait rencontrer. Cela inclut des simulations avec tous les types de nœuds, des nœuds complets aux nœuds de validation, ainsi que des configurations de tests de résistance pour garantir la stabilité et un comportement optimal. Une lacune perceptible réside également dans le domaine de l’analyse avancée et de la surveillance proactive, toutes deux impératives pour valider les performances et garantir la préparation au réseau principal.
À la recherche d'une solution, Zeeve a soumis une proposition de subvention détaillée à la Fondation Web3. Reconnaissant l'intérêt de combler cette lacune opérationnelle, la fondation a apporté son soutien en accordant une subvention à Zeeve pour le développement d'un outil GUI (LARCH) conçu pour automatiser le flux de travail de test de simulation de parachain à l'aide de Zombienet.
Nous sommes heureux d'annoncer que nous avons franchi avec succès les étapes I et II de notre subvention de la Fondation Web3. Cette subvention nous a permis de nous concentrer sur le développement de Larch pour une gestion améliorée de Zombienet avec automatisation et surveillance.
Plus de détails sur la subvention peuvent être trouvés ici .
Le logiciel est désormais disponible sous licence open source sur GitHub et accessible à tous, accompagné de son code source, de sa documentation développeur et de ses tutoriels. Nous sommes convaincus que Larch bénéficiera de manière significative à l'écosystème de développeurs de parachain Polkadot/Substrate, étendant ses avantages à la communauté Web3 plus large.
Zeeve's Larch est une interface complète pour Zombienet CLI, s'intégrant parfaitement à K8 et Podman. Larch est soigneusement conçu pour simplifier les processus de création, de gestion et de test du réseau Zombienet. Grâce à lui, les développeurs et les équipes de parachain peuvent rapidement configurer les chaînes de relais et les parachains avec Zombienet, libérant ainsi le potentiel de tester une pléthore de configurations, facilement, directement depuis le tableau de bord.
Automatisation complète : les configurations Parachain sont cruciales et complexes. Larch permet une configuration Zombienet simple basée sur l'interface utilisateur, y compris les configurations de base de relaychain et de parachain.
Configurations intuitives : Larch permet une sélection basée sur le « choisir » pour les paramètres de genèse et les configurations de chaîne, cruciale pour initialiser les configurations de parachain adaptées au Zombienet souhaité.
Réplication flexible : choisissez parmi les configurations zombienet existantes, enregistrez-les en tant que modèles, ou modifiez et testez à nouveau rapidement à l'aide de modèles précédemment enregistrés. Les utilisateurs peuvent également en télécharger de nouveaux sans effort sans se lancer dans la création manuelle de configurations.
Plus de contrôle opérationnel : les utilisateurs peuvent facilement exécuter des opérations clés telles que démarrer, supprimer, afficher la progression et les métriques directement à partir du tableau de bord, garantissant ainsi une flexibilité de test optimale.
Configuration de nœud tout compris : prend en charge la configuration de tous les types de nœuds, qu'il s'agisse d'un nœud complet, d'un nœud Validator ou d'un nœud Collator.
Journalisation en temps réel : permet aux développeurs de surveiller les journaux en direct pendant les tests et d'examiner les résultats post-exécution directement via l'interface.
Surveillance avancée : intègre une pile de Prometheus et Grafana pour une surveillance sans effort de Zombienet.
Indépendant du cloud : la configuration de Larch est universelle et peut être installée sur n'importe quelle machine cloud/locale de votre choix avec un système d'exploitation basé sur Linux.
En résumé, Zeeve's Larch est sur le point de transformer la façon dont les développeurs de substrats et de parachain interagissent avec Zombienet, offrant une expérience simplifiée, efficace et intuitive.
Ce didacticiel se concentre sur la création d'un modèle et, par la suite, d'un réseau à partir de ce modèle. L'intention est d'émuler l'exemple officiel de Zombienet trouvé sur Zombienet sur GitHub .
Remarque : ce guide est conçu pour les systèmes Linux. Pour les utilisateurs Mac, veuillez vous référer à la section Prérequis de Mélèze. Bien que Mac ne soit pas encore officiellement pris en charge, si l'émulation Podman fonctionne correctement, Larch devrait alors être capable de gérer le réseau efficacement.
De même, l'exécution de K8 sur un cluster Linux distant via la configuration kubectl d'un Mac devrait fonctionner.
Étape 1:
Obtenez le binaire de mélèze en le téléchargeant à partir des versions ou en le construisant vous-même.
Étape 2:
Assurez-vous que Podman / kubectl est installé conformément aux instructions sur votre système pour l'orchestration des réseaux Zombienet.
Étape 3:
Attribuez des autorisations d'exécution au binaire mélèze en utilisant :
chmod 755 larch
Exécutez le binaire mélèze en faisant :
./larch
Étape 4:
Accédez à http://localhost:9000 dans votre navigateur. Cliquez sur le bouton « Modèle de réseau + » situé en haut de la page.
Étape 5 :
Étiquetez le modèle comme « exemple de modèle ». Choisissez Podman ou Kubernetes comme fournisseur en fonction de votre configuration. Continuez en cliquant sur « Suivant » .
Étape 6 :
Sous la section Configuration de Relaychain , remplissez la sous-section Nœuds . Insérez « alice » comme nom et sélectionnez l'option « Validateur » . En appuyant sur le bouton + , ajoutez un nouveau nœud. Pour ce nœud, saisissez « bob » et choisissez à nouveau « Validator » . Appuyez sur Suivant .
Étape 7 :
Dans la section Parachain Configuration , appuyez sur le bouton « + ». Définissez l’ID Parachain sur 100 (ou tout autre nombre). Nommez l'assembleur « collator01 » et pour la commande, utilisez « polkadot-parachain » . Cliquez sur ' Suivant' .
Étape 8 :
Pour ce didacticiel, nous contournerons HRMP . Cliquez simplement sur « Suivant » .
Étape 9 :
Dans la section Test Configuration , après les sections pré-remplies, ajoutez la configuration nécessaire. Enregistrez le modèle en cliquant sur « Enregistrer » .
Étape 10 :
Sur la page Modèles, le nouveau modèle devrait maintenant être visible. Sélectionnez « Créer » pour lancer le réseau. Une boîte de dialogue apparaîtra – saisissez le nom du réseau et cliquez sur « Confirmer » pour démarrer l'orchestration. L'application vous fera passer à la page des réseaux pendant l'état de création.
Étape 11 :
Pour inspecter les journaux de commandes et d'exécution, cliquez sur l'icône « Œil » . Pour une commande détaillée, appuyez sur le bouton « Commande » ; un modal apparaîtra avec la commande et d'autres métadonnées. Pour parcourir les journaux/sorties, sélectionnez le bouton « Sortie » , ouvrant un autre modal révélant les flux.
L'étape précédente conclut la création du réseau.
Étape 12 :
Pour accéder aux métriques du réseau déployé, accédez à la page Mon réseau et appuyez sur l'icône « Surveillance » . Cela vous redirige vers le service Grafana (login par défaut : admin/admin). Dans le segment Tableaux de bord, recherchez et ouvrez le tableau de bord à partir du dossier « Général » pour inspecter les métriques.
Zeeve est profondément engagé dans l'écosystème web3. En conclusion, notre objectif est clair : nous voulons que le « mélèze » soit largement adopté et utilisé dans divers scénarios de test de parachain. Nous encourageons les développeurs Polkadot/Substrate à l'utiliser pour leurs besoins de tests et à partager leurs commentaires. Zeeve continuera à mettre à jour et à améliorer Larch, en ajoutant de nouvelles fonctionnalités basées sur les contributions de la communauté. Ensemble, nous continuerons à itérer sur Larch, en veillant à ce qu'il reste pertinent et bénéfique pour tous les développeurs.