C'est une application GUI qui implémente les fonctions de base du portefeuille Bitcoin. Il est également possible d'échanger des pièces de monnaie avec cette application. (Nous ne pouvons pas garantir l'opération, nous ne le recommandons donc pas. Si vous le faites, c'est une petite quantité ...)
https://github.com/momosuke4989/pycoin-demo
Une bibliothèque appelée pycoin a été introduite dans Mastering Bitcoin, qui est une bible bitcoin, je l'ai donc créée après avoir étudié python et bitcoin. Lors de la conférence Open Source 2016 Tokyo / Automne, je faisais une démonstration avec un Raspberry Pi avec un écran LCD de 3,2 pouces. C'est pourquoi la spécification de la taille de la fenêtre est étrangement petite.
Voir LISEZ-MOI key-generate.py est pour la génération d'adresse bitcoin et create-tx.py est pour la génération de transaction.
Une application permettant aux utilisateurs généraux de gérer Bitcoin s'appelle un portefeuille. Les principales fonctions sont le stockage et l'envoi / la réception de pièces de monnaie, qui se composent des éléments suivants.
Dans le monde du bitcoin, les utilisateurs sont identifiés par l'unité de clé privée et l'adresse bitcoin (ci-après dénommée adresse). Si vous le remplacez par le monde des banques, la clé privée est le mot de passe et l'adresse est le numéro de compte. La cryptographie à clé publique (ou la cryptographie à courbe elliptique pour être exact) et les fonctions de hachage sont utilisées pour générer des adresses, mais il est intéressant de noter qu'aucune organisation ou organisme ne contrôle cette tâche. La plage de valeurs que la clé privée peut prendre est suffisamment grande (10 ^ 77), il est donc pratiquement sûr d'ignorer la possibilité de conflits d'adresses. Pour cette raison, il est courant dans le monde du bitcoin d'avoir plusieurs adresses par une seule personne, et on dit qu'il est souhaitable de générer une adresse pour chaque transaction du point de vue de la sécurité, mais la clé privée et l'adresse à chaque fois. C'est beaucoup de travail à générer, et cela devient aussi compliqué à gérer.
Hierarchical Deterministic Wallet Un mécanisme appelé portefeuille déterministe hiérarchique, communément appelé portefeuille HD, a été proposé pour résoudre ce problème. Avec le portefeuille HD, vous pouvez générer plusieurs clés / adresses privées de manière hiérarchique à partir d'une clé principale, et si vous avez une clé principale, vous pouvez également obtenir le solde de toutes les adresses sous la hiérarchie, ce qui est très pratique.
Bien que l'introduction soit devenue assez longue, key-generate.py est une application qui génère une clé privée et une adresse basée sur ce mécanisme.
Pour envoyer Bitcoin à quelqu'un, vous devez envoyer les informations de transfert sous la forme d'une transaction au réseau Bitcoin et être approuvé. Cependant, dans le monde du bitcoin, toutes les informations sur l'adresse et la quantité sont ouvertes au public, il est donc facile de créer une transaction telle que l'envoi d'argent depuis l'adresse d'une autre personne en rouge vers vous-même. Ce serait irrésistible si quelque chose comme ça était approuvé. Afin d'éviter une telle situation, il suffit d'avoir un propriétaire légitime pour déplacer Bitcoin, mais voici une signature électronique avec une clé privée. Bitcoin tire parti des caractéristiques du cryptage à clé publique et applique des signatures électroniques pour prouver la propriété. La clé privée est traitée au format WIF (Wallet Import Format). Il existe également un format WIF compressé, mais les détails sont omis. (À propos, l'application ci-dessus utilise le format WIF compressé)
create-tx.py est une application qui crée une transaction signée et l'envoie au réseau.
Quand j'ai fait quelque chose qui fonctionne comme ça, j'ai appris sensuellement que la clé privée et l'adresse peuvent être gérées séparément. Étant donné que l'application que j'ai créée cette fois n'était pas censée être publiée de cette manière, je pense qu'il y a différents points tels que le fait de ne pas clairement indiquer la licence. (Puis-je l'ajouter ou le modifier plus tard?) Si vous avez des conseils, comme quelque chose d'étrange ici ou quelque chose comme ça, veuillez commenter.
Maîtriser le stockage national de PDF de traduction de Bitcoin https://www.bitcoinbook.info/translations-of-mastering-bitcoin/
référentiel pycoin github https://github.com/richardkiss/pycoin
Recommended Posts