Dieser Artikel verwendet Mac OS Sierra 10.12.4. Wir haben die Informationen beim Erstellen einer Umgebung für den Zugriff auf Bitcoind von Python zusammengefasst.
Es wird davon ausgegangen, dass Sie Bitcoind installiert haben. Referenz: Erstellen einer Umgebung für Bitcoind mit Docker
Verwenden Sie python-bitcoinrpc.
pip install python-bitcoinrpc
Stellen Sie eine von Bitcoin verwendete RPC-Verbindung (Remote Procedure Call) her. Folgen Sie quick_start, um loszulegen.
from bitcoinrpc.authproxy import AuthServiceProxy, JSONRPCException
rpc_user="bitcoinrpc"
rpc_password='passwordxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
rpc_connection = AuthServiceProxy("http://%s:%[email protected]:8332"%(rpc_user, rpc_password))
Verwenden Sie für rpc_user und rpc_password die beim Erstellen der Bitcoind-Umgebung festgelegten. Wenn Sie es nicht wissen, überprüfen Sie bitcoin.conf und es sollte dort sein. Ab dem 24. Juni 2017 tritt ein Fehler auf, wenn "/" im Kennwort von AuthServiceProxy enthalten ist. (Weil urllib das Trennzeichen nicht identifizieren kann, wenn rpc_user und rpc_password gut zerlegt werden.) Es ist notwendig, beispielsweise das Passwort nicht mit / zu mischen.
Nachdem wir rpc_connection definiert haben, nehmen wir einen Block
blhash = rpc_connection.getblockhash(0) #blhash ist die Block-Hash-Zeichenfolge
bl = rpc_connection.getblock(blhash) #bl ist Blockinformation
Überprüfen Sie das Ergebnis
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}
Informationen zum Genesis-Block sind verfügbar.
Nächstes Mal werden wir den Code schreiben, um die Transaktionsinformationen im Block zu erhalten.
Recommended Posts