Une bibliothèque Python qui peut interagir avec les réseaux Bitcoin et Altcoin. Je pense qu'il est courant d'installer Bitcoin Core pour se connecter à un réseau Bitcoin, mais c'est assez compliqué. Pycoin facilite la connexion à votre réseau Bitcoin. Il existe également des outils de ligne de commande utiles appelés KU et TX, et cet article vous montrera comment utiliser cet outil de ligne de commande et comment définir des variables d'environnement pour se connecter à Bitcoin Testnet.
Pycoin peut gérer non seulement Bitcoin, mais aussi des Altcoin relativement célèbres tels que Litecoin, Dogecoin, Dash et d'autres pièces dont vous n'avez jamais entendu parler. Il prend en charge Python 2.7 et 3.3 ou version ultérieure. https://github.com/richardkiss/pycoin
Vous pouvez l'installer avec pip. Construisons et installons un environnement virtuel avec venv etc.
$ pip install pycoin
Testnet est généralement utilisé pour le développement Bitcoin. Il n'y a aucune raison d'utiliser du vrai BTC pour le développement, la production s'appelle Mainnet, mais Testnet est conçu pour les développeurs.
Cet article est détaillé. Environnement de test d'application utilisant Bitcoin http://techmedia-think.hatenablog.com/entry/2015/05/10/123243
Les pièces sur Testnet n'ont aucune valeur et peuvent être obtenues sur Faucet. https://tpfaucet.appspot.com/
Vous pouvez vérifier Testnet ici. https://testnet.blockexplorer.com/
Pycoin a des outils de ligne de commande utiles appelés KU et TX. https://github.com/richardkiss/pycoin/blob/master/COMMAND-LINE-TOOLS.md
KU est un "utilitaire de clé" et est comme un "couteau suisse" pour manipuler les clés, selon le développeur Richard Kiss. Est-ce si pratique?
TX est un outil de vérification et de manipulation des transactions pour la lisibilité humaine.
Tapons ku create, qui figure également dans l'exemple de code. Les clés BIP32, qui peuvent être considérées comme la norme pour les portefeuilles HD, sont émises au hasard.
$ ku create
warning: can't open gpg, can't use as entropy source
input : create
network : Bitcoin mainnet
netcode : BTC
wallet key : xprv9s21ZrQH143K2K5pPUoMrx8g8B3xSeJuAAXtt7XP6Gs1w9WWCRibNaMiEUjN9j\
YpXaejADY9GGE3KyKX4oztPCt7bCZwVTw8fuyr7rPcVp3
public version : xpub661MyMwAqRbcEoAHVWLNE65QgCtSr72kXPTVgVvzecPzowqejy2qvNgC5mofRo\
PR2QT7xC4XY9pxtP2H3EoLbB2urCPgvD6FBMm1LXEBope
tree depth : 0
fingerprint : 9a087148
parent f'print : 00000000
child index : 0
chain code : 1980c24d0593ce4a42f3dae1991cb7617f8cbac03df219a796be5392775ff361
private key : yes
secret exponent : 62147175208710988790827765505072286205595207768729086914666605171876233295603
hex : 89660dfd51eb4720adb856375cb0273222b6aaccf34d48ec3abbcc3e865936f3
wif : L1po7g8b8xtn7w7ukg8Gv6j3sEQykCS2NcWwLRZD1tDAUMMVYJ5Y
uncompressed : 5JroFCatgsGovgT2z2AMNYf5GutCVpT4V1LvYb7PfGEBJdEbts1
public pair x : 68090829527568288081052782941849647349285350892240776672153772254112346326898
public pair y : 51301029354091858472661926463670541630631183134816042193916222104982852838049
x as hex : 968a0b34e401a041c684d7a675857ad7b9b1ed1936d056e43b01ac6a0180c772
y as hex : 716b5a882afdc55f901d07dfe5c769106dead6710a70858e51fe51a15039a2a1
y parity : odd
key pair as sec : 03968a0b34e401a041c684d7a675857ad7b9b1ed1936d056e43b01ac6a0180c772
uncompressed : 04968a0b34e401a041c684d7a675857ad7b9b1ed1936d056e43b01ac6a0180c772\
716b5a882afdc55f901d07dfe5c769106dead6710a70858e51fe51a15039a2a1
hash160 : 9a087148075e0ae4cd68fd4019e63f2df521572c
uncompressed : 017773ac09011e42b64ede8701f67a15056455ed
Bitcoin address : 1F3TB8yLpkDxRZ8jsX9o7FPCF99VDcZsg5
Bitcoin address uncompressed : 18kmrPFEDGxXiUjr5GYsw2TxCzqqUiZ5F
Bitcoin segwit address : p2y8WmmTAGv9XjWT8bjjyuZemZFrUz5xA7oY
Vous pouvez spécifier le nom du réseau en prenant -n comme argument. -NXTN pour spécifier le Testnet de Bitcoin.
ku -nXTN 1
input : 1
network : Bitcoin testnet3
netcode : XTN
secret exponent : 1
hex : 1
wif : cMahea7zqjxrtgAbB7LSGbcQUr1uX1ojuat9jZodMN87JcbXMTcA
uncompressed : 91avARGdfge8E4tZfYLoxeJ5sGBdNJQH4kvjJoQFacbgwmaKkrx
public pair x : 55066263022277343669578718895168534326250603453777594175500187360389116729240
public pair y : 32670510020758816978083085130507043184471273380659243275938904335757337482424
x as hex : 79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798
y as hex : 483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8
y parity : even
key pair as sec : 0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798
uncompressed : 0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\
483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8
hash160 : 751e76e8199196d454941c45d1b3a323f1433bd6
uncompressed : 91b24bf9f5288532960ac687abb035127b1d28a5
Bitcoin address : mrCDrCybB6J1vRfbwM5hemdJz73FwDBC8r
Bitcoin address uncompressed : mtoKs9V381UAhUia3d7Vb9GNak8Qvmcsme
Bitcoin segwit address : QWz8QvrJz5QmWegmBv9tXP447AdU7JQtyakg
Vous pouvez spécifier le réseau non seulement à partir de la ligne de commande, mais également à partir d'un fichier, bien sûr.
En gros, si vous ne spécifiez rien, vous serez connecté à Bitcoin Mainnet.
Je l'ai fait par inadvertance sur Mainnet! Je n'aime pas cela, je vais donc vous montrer comment définir des variables d'environnement sur votre terminal et spécifier le réseau par défaut.
Cette fois, nous utiliserons par défaut Bitcoin Testnet.
Définissez les paramètres de la variable d'environnement. Le code net qui peut être spécifié est écrit dans all.pylegacy_network.py des réseaux.
$ export PYCOIN_DEFAULT_NETCODE="XTN"
Allons vérifier.
sample.py
from pycoin.networks import default
default_netcode = default._netcode_for_env()
print(default_netcode)
Ce n'est pas grave si vous faites cela et que le netcode spécifié est affiché.
Étant donné que netcode peut être considéré comme un argument tel que la création d'une clé, c'est OK si vous le spécifiez à ce moment-là. Essayez-le sur Testnet et réfléchissez-le sur Mainnet! J'ai pensé que ce serait pratique car je n'avais qu'à changer les paramètres des variables d'environnement.
C'est facile, mais je vous ai montré comment vous connecter à Bitcoin Testnet avec Pycoin. La prochaine fois, j'aimerais créer une clé avec Testnet, créer une transaction et échanger des pièces de monnaie.
Recommended Posts