Maison> développement back-end> Golang> le corps du texte

Comment commencer à contribuer à Utreexo

PHPz
Libérer: 2024-08-22 20:36:32
original
404 Les gens l'ont consulté

Avez-vous déjà rencontré un projet open source passionnant auquel vous aimeriez contribuer, mais vous ne savez pas par où commencer ? Ou peut-être êtes-vous un développeur relativement expérimenté (ou simplement quelqu'un qui connaît mieux l'open source) qui cherche à contribuer à un projet open source passionnant ? Eh bien, j'ai une réponse à votre question sur "Comment puis-je commencer à contribuer à l'open source".
Techniquement, je ne répondrai pas à cette question de manière générale. Cet article sera plus orienté vers un projet open source spécifique, Utreexo. Donc, je suppose que cet article vise plutôt à répondre à la question « Comment puis-je commencer à contribuer à Utreexo ? ».

Et si Utreexo était en premier lieu ?

Eh bien, si vous êtes ici, je suppose que vous avez entendu parler d'Utreexo de quelque part, ou du moins que vous savez qu'il s'agit d'un projet lié au Bitcoin. Si vous n'en avez jamais entendu parler, ce n'est pas grave, je vais essayer de le détailler davantage, et également de fournir des liens pertinents, cependant, il est fortement recommandé d'avoir une connaissance de haut niveau sur le fonctionnement du Bitcoin, afin de mieux comprendre. cet article.

Quoi qu’il en soit, pour répondre à la question ci-dessus, donnons un petit aperçu de ce qu’Utreexo vise en premier.
Le réseau Bitcoin tel que nous le connaissons (ou… ne le savons pas encore) stocke les enregistrements de toutes les transactions dans un grand livre numérique, connu sous le nom de Blockchain. Ce grand livre contient des enregistrements de toutes les transactions qui ont déjà été effectuées sur le réseau. Cependant, l'état actuel du réseau ne contient pas nécessairement l'historique de tout ce qui s'est passé sur le réseau, mais plutôt l'ensemble de toutes les sorties de transaction non dépensées (ensemble UTXO). Cet ensemble contient des informations sur « quel portefeuille a quoi ». En termes plus simples, l'ensemble UTXO contient essentiellement des enregistrements de la quantité de bitcoins qu'un portefeuille Bitcoin possède sur son compte. Eh bien, la dernière phrase n'est pas très précise car nos portefeuilles Bitcoin ont généralement des sorties de transactions non dépensées qui, une fois combinées, reflètent le solde de notre portefeuille et ce qui est disponible à dépenser.
Le problème est que cet état Bitcoin croît plus rapidement et s’étend à mesure que le nombre de transactions sur le réseau augmente. Cela pose un problème d’évolutivité important, car la taille plus grande nécessite des ressources matérielles plus importantes, ce qui peut donc dissuader certaines personnes d’exploiter des nœuds Bitcoin, entre autres inconvénients.
C'est là qu'intervient Utreexo.

Nous demandons donc à nouveau : « Qu'est-ce qu'Utreexo » ?. Eh bien, Utreexo est une méthode permettant de réduire considérablement le stockage nécessaire pour exécuter un nœud de validation complète en proposant un accumulateur cryptographique dynamique basé sur le hachage et en introduisant un nœud d'état Compact qui stocke uniquement une représentation accumulateur de l'état. Ces nœuds nécessitent des preuves d'inclusion supplémentaires de la part de l'expéditeur, avant de pouvoir vérifier les transactions,

Avec Utreexo, l'état actuel du réseau est représenté dans une taille nettement plus petite, ce qui signifie moins d'utilisation des ressources, ce qui encouragera alors presque tout le monde à exécuter un nœud, de manière pratique. Vous pouvez en savoir plus sur Utreexo à partir des ressources suivantes ELI5 : Utreexo — Une solution de mise à l'échelle, ou Améliorer le réseau Bitcoin à l'aide d'Utreexo, ou télécharger le livre blanc Utreexo à partir d'ici.

Configurer votre environnement de développement
Maintenant que nous en savons un peu plus sur Utreexo, passons à la configuration de notre environnement de développement.

Utreexo est écrit en Go, donc avoir une connaissance et une compréhension de base du langage de programmation Go sera un bonus supplémentaire. Cependant, si vous débutez avec Go, vous pouvez consulter ces ressources pour en savoir plus sur le langage et comprendre quelques concepts de base du langage Effective Go, Learn Go.

J'utilise le code Visual Studio pour cet article, mais n'hésitez pas à utiliser n'importe quel éditeur de texte de votre choix.
Tout d’abord, nous devrons installer le langage de programmation Go. Les étapes d'installation ne seront pas couvertes ici, mais vous pouvez consulter cet article, détaillant comment installer et exécuter les programmes Go. Téléchargez et installez Go. Une fois que vous avez terminé d'installer Go, conformément à l'article et en vous assurant que tout fonctionne, en vérifiant le résultat de

aller en version

nous pouvons procéder au clonage de la base de code. Avoir une connaissance de base de git sera ici bénéfique. Tout d’abord, nous devons avoir git installé sur notre système informatique. Pour vérifier si git est installé, vous pouvez ouvrir un nouveau terminal ou une nouvelle fenêtre PowerShell et taper

git –version

si git est installé, vous verrez une sortie avec le numéro de version. Sinon, vous devez procéder à l'installation de git en utilisant les directives de l'installation de Git.
Ensuite, vous pouvez essayer la commande

git –version

encore. Si git a été installé avec succès, nous pouvons maintenant procéder au fork et au clonage du référentiel.
Créer une copie du référentiel signifie essentiellement créer une copie du référentiel sur nos comptes GitHub personnels. Les modifications que nous apporterons par la suite seront transmises à notre référentiel forké, puis nous pourrons soumettre une pull request.

Pour cloner le référentiel, nous naviguons jusqu'à l'emplacement souhaité et l'ouvrons dans le terminal. Ou nous pouvons naviguer directement à l'aide du terminal.
Par exemple, disons que nous avons un dossier sur notre bureau appelé « Projets » dans lequel nous voulons que notre code Utreexo réside, nous naviguons simplement vers le bureau, puis ouvrons le dossier « Projets », et à l'intérieur, nous faisons un clic droit et prenons « Ouvrir dans le terminal » pour Windows et Ubuntu. Ou nous pouvons naviguer directement dans la fenêtre de notre terminal

Assurons-nous d’abord que nous sommes dans le répertoire racine de notre système en y naviguant.

Cd~

Et puis

cd Bureau/Projets

Une fois ici, nous devons cloner le référentiel. Il y a une légère considération à faire ici. Lorsque vous visitez l'organisation principale d'utreexo sur GitHub, nous avons plusieurs référentiels. L'un d'eux est le dépôt utreexo, qui contient l'implémentation réelle de l'accumulateur dynamique, puis il y a le dépôt utreexod, qui est une implémentation de nœud complet Bitcoin, qui prend en charge Utreexo. Nous nous concentrerons sur ce dernier, c’est-à-dire l’implémentation complète du nœud Bitcoin avec le support Utreexo. Passons au fork puis clonez le référentiel

Pour fork le dépôt, on va sur la page github du repo utreexod, et à l'extrême droite, on trouvera le bouton « fork ».

How to start contributing to Utreexo
Nous devons cliquer dessus et suivre les instructions à l'écran. Une fois cela fait, nos comptes github personnels auront la même copie de ce référentiel.
Nous pouvons maintenant procéder au clonage du référentiel depuis notre compte personnel

clone de git https://github.com/yourgithubusername/utreexod.git

Quand c'est fait, nous pouvons ouvrir le dossier avec notre éditeur de texte et procéder à l'installation de toutes les dépendances comme décrit dans la description du dépôt GitHub. Maintenant, nous y sommes.

À partir de là, nous voudrons passer un peu de temps à comprendre les différentes sections de la base de code et de quoi chaque section est responsable. Une fois que vous avez une idée générale de la base de code, vous pouvez consulter la section Problèmes du référentiel pour trouver tout problème que vous aimeriez résoudre, ou peut-être une suggestion de fonctionnalité.
Une fois identifié, nous créons une nouvelle branche et nommons la branche correctement

git branch feature1 git checkout feature1
Copier après la connexion

Ici, « feature1 » est le nom de la fonctionnalité sur laquelle nous allons travailler. Donnez-lui un nom plus descriptif.
Une fois que nous avons fini de travailler sur notre fonctionnalité et que nous pensons qu'elle est prête, nous nous engageons et poussons vers github, puis nous lançons une pull request.

Pour s'engager, on met tout d'abord en scène les modifications apportées à l'aide

git ajouter.

Et puis procédez à l'engagement avec

git commit -m « Message de validation »

Le message de validation doit être une brève description des modifications apportées et il doit être placé entre guillemets comme mentionné ci-dessus.
Si vous utilisez vscode, l'extension git simplifie vraiment tous ces processus.

Si vous avez besoin de plus de ressources sur la façon de valider vos modifications et de les transmettre ensuite à github, consultez cette ressource, et pour créer une pull request, vous pouvez également consulter ici.

Une fois notre pull request effectuée, nous attendons ensuite les mises à jour des responsables, et une fois que tout a été trié, et probablement d'autres modifications apportées demandées, la pull request sera fusionnée, et… et voilà. Vous avez contribué avec succès à Utreexo

Les contributions open source comme celle-ci sont une source motrice de logiciels majeurs, apporter des contributions à l'open source est très important, car vous apportez des modifications aux logiciels utilisés par des dizaines de milliers d'utilisateurs. Cette contribution apporte un haut niveau de satisfaction. À partir de là, il est conseillé de continuer à établir des relations avec les autres membres de la communauté et les responsables et de continuer à contribuer régulièrement au logiciel.

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!

source:dev.to
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!