Accéder à bitcoind depuis python

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

Installez python-rpc

Utilisez python-bitcoinrpc.

pip install python-bitcoinrpc

Établir une connexion RPC

É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 /.

Vérifier la connexion RPC

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

Accéder à bitcoind depuis python
Accéder à Oracle DB depuis Python
Comment accéder à wikipedia depuis python
Accéder aux feuilles de calcul à partir de Python à l'aide d'OAuth 2.0
Accéder aux nœuds de shader de Blender depuis Python
sql à sql
MeCab de Python
Relancé de "pas d'accès Internet" en Python
Comment accéder à RDS depuis Lambda (python)
Utilisez Thingsspeak de Python
Touchez MySQL depuis Python 3
Exploitez Filemaker depuis Python
Utiliser fluentd de python
Changements de Python 3.0 à Python 3.5
Changements de Python 2 à Python 3.0
Python depuis ou import
Utilisez MySQL depuis Python
Exécutez Python à partir d'Excel
Installer Python à partir de la source
Exécuter des commandes depuis Python
Faites fonctionner le neutron de Python!
Utiliser MySQL depuis Python
Faire fonctionner LXC depuis Python
Manipuler riak depuis python
Forcer Python depuis Fortran
Utilisez BigQuery depuis Python.
Exécuter la commande depuis Python
[Python] Lire depuis Stdin
Utilisez mecab-ipadic-neologd de Python
Obtenir des données de la base de données via ODBC avec Python (Access)
Accès ODBC à SQL Server depuis Linux avec Python
Deep Python appris de DEAP
Fonctionnalités de grammaire ajoutées à partir de Python3.6
Flirter de PHP à Python
Rendre MeCab disponible à partir de Python 3
Informations obtenues à partir de tweet_id (Python)
OCR à partir de PDF en Python
Exécutez le script illustrator à partir de python
Utiliser MySQL depuis Anaconda (python)
Anaconda mis à jour de 4.2.0 à 4.3.0 (python3.5 mis à jour vers python3.6)
Étude de Python Hour4: orientée objet ②
Interroger Athena depuis Lambda Python
Étude de Python Hour3: Fonctions
Démarrer / arrêter GCE à partir de python
Arrêtez Omxplayer à partir du code Python
Passer de python2.7 à python3.6 (centos7)
Connectez-vous à sqlite depuis python
Installez pyenv depuis Homebrew, installez Python depuis pyenv
Étude de Python Hour4: orientée objet ①
Convention de dénomination Python (à partir de PEP8)
Accédez à Google Drive avec Python
Avec skype, notifiez avec skype de python!
Utilisez l'API e-Stat de Python
Enregistrer le problème Redmine de Python
Appelez Matlab depuis Python pour optimiser
Exécuter le script Python à partir du fichier de commandes
Python: exclure les balises des données html
Utiliser la PNL Stanford Core à partir de Python
Essayez l'authentification de base de données IAM à partir de Python
Appeler C depuis Python avec DragonFFI