Jour ??? d'apprentissage aller. Créer des applications CLI
Pourquoi cli ??
J'ai toujours eu une préférence pour les outils d'interface de ligne de commande (CLI) et d'interface utilisateur de terminal (TUI) par rapport à leurs homologues d'interface utilisateur graphique (GUI). Ce projet, bien nommé « Phraser » (aucune excuse pour le mauvais nom), est une application en ligne de commande conçue pour gérer les phrases de départ de portefeuille pour les portefeuilles cryptographiques. J'ai développé cette application pour créer un moyen plus pratique de gérer les phrases de départ pour mes portefeuilles cryptographiques.
Il crée un répertoire et stocke les phrases dans des fichiers JSON cryptés. Vous pouvez ensuite déplacer les fichiers JSON et les stocker où vous le souhaitez.
Pourquoi y aller ?
Pour valoriser mes compétences, j'ai choisi de réécrire un projet que j'avais précédemment écrit en Python à l'aide de Go. Contrairement à la version Python, qui nécessite l'installation d'une multitude de dépendances, la version Go peut être compilée en un seul binaire, ce qui la rend plus portable et moins encombrante. De plus, Go est connu pour sa vitesse fulgurante (je n'ai pas pu résister :))
Outil utilisé
- Allez v1.22.5 (bien sûr)
- Cobra-cli
Installation
Vous pouvez trouver un binaire précompilé sur la page des versions du référentiel GitHub (lien en fin d'article).
Installation manuelle
Si vous préférez, vous pouvez cloner le référentiel et installer les dépendances pour le tester.
Les instructions se trouvent dans le fichier Readme du référentiel GitHub, mais je vais quand même les souligner ici.
Usage
Phraser est facile à utiliser avec un ensemble de commandes simples. Voici un aperçu de base :
phraser [command] [flags]
Commandes
- complétion : génère le script d'auto-complétion pour le shell spécifié.
- créer : Crée un portefeuille dans votre boutique.
- gendoc : Générez la documentation Markdown pour toutes les commandes.
- get : Récupère les données stockées dans un portefeuille.
- init : Initialise un magasin.
Possibilités
-a, --amount int amount of phrases to be inputted -h, --help help for phraser -s, --store string name of the store to access -t, --toggle Help message for toggle -w, --wallet string name of the wallet to be created
Exemples
- Initialiser une nouvelle boutique :
phraser init --store myStore
- Créer un nouveau portefeuille :
phraser create --store myStore --wallet myWallet --amount 12
- Récupérer la phrase de départ d'un portefeuille :
phraser get --store --wallet myWallet
Conclusion
Ce projet m'a beaucoup appris sur le cryptage/déchiffrement de type Go, la gestion des fichiers, ainsi que le cobra-cli pour créer des applications CLI. Tous les commentaires et corrections sont appréciés.
Le code source peut être trouvé ici
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

GO Language Pack Import: Quelle est la différence entre le soulignement et sans soulignement?

Comment mettre en œuvre le transfert d'informations à court terme entre les pages du cadre Beego?

Comment convertir la liste des résultats de la requête MySQL en une tranche de structure personnalisée dans le langage Go?

Comment puis-je définir des contraintes de type personnalisé pour les génériques en Go?

Comment écrire des objets et des talons simulés pour les tests en Go?

Comment écrire des fichiers dans GO Language de manière pratique?

Comment rédigez-vous des tests unitaires en Go?

Comment puis-je utiliser des outils de traçage pour comprendre le flux d'exécution de mes applications GO?
