Cet article utilise Mac OS Sierra 10.12.4. Nous avons résumé les informations lors de la création d'un environnement pour accéder à bitcoind à partir de python.
Il est supposé que bitcoind est installé. Référence: Création d'un environnement pour bitcoind avec docker
Utilisez python-bitcoinrpc.
pip install python-bitcoinrpc
Établissez une connexion RPC (Remote Procedure Call) utilisée par Bitcoin. Suivez quick_start pour commencer.
from bitcoinrpc.authproxy import AuthServiceProxy, JSONRPCException
rpc_user="bitcoinrpc"
rpc_password='passwordxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
rpc_connection = AuthServiceProxy("http://%s:%[email protected]:8332"%(rpc_user, rpc_password))
Pour rpc_user et rpc_password, utilisez ceux définis lors de la création de l'environnement bitcoind. Si vous ne savez pas, vérifiez bitcoin.conf et il devrait être là. À compter du 24 juin 2017, une erreur se produira si "/" est inclus dans le mot de passe dans AuthServiceProxy. (Parce que urllib ne peut pas identifier le délimiteur lors de la décomposition correcte de rpc_user et rpc_password) Il est nécessaire de concevoir comme rendre le mot de passe non mélangé avec /.
Après avoir défini rpc_connection, prenons un bloc
blhash = rpc_connection.getblockhash(0) #blhash est la chaîne de hachage de bloc
bl = rpc_connection.getblock(blhash) #bl est des informations de bloc
Vérifiez le résultat
bl
{'bits': '1d00ffff',
'chainwork': '0000000000000000000000000000000000000000000000000000000100010001',
'confirmations': 1,
'difficulty': 1,
'hash': '000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f',
'height': 0,
'mediantime': 1231006505,
'merkleroot': '4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b',
'nonce': 2083236893,
'size': 285,
'strippedsize': 285,
'time': 1231006505,
'tx': ['4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b'],
'version': 1,
'versionHex': '00000001',
'weight': 1140}
des informations sur le bloc de genèse sont disponibles.
La prochaine fois, nous écrirons le code pour obtenir les informations de transaction dans le bloc.
Recommended Posts