Skip to main content

GitHub Release GitHub Tags

This project further improves python-bitcoinrpc by making use of the requests module.

requests replaces plain http.client and httplib, respectively.

It's basically a mixture of the projects python-bitcoinrpc and python-monerorpc.

The first version to contain the above change is tag v0.4.0.


AuthServiceProxy is an improved version of python-jsonrpc.

It includes the following generic improvements:

  • HTTP connections persist for the life of the AuthServiceProxy object
  • sends protocol 'version', per JSON-RPC 1.1
  • sends proper, incrementing 'id'
  • uses standard Python json lib
  • can optionally log all RPC calls and results
  • JSON-2.0 batch support

It also includes the following bitcoin-specific details:

  • sends Basic HTTP authentication headers
  • parses all JSON numbers that look like floats as Decimal, and serializes Decimal values to JSON-RPC connections.

Installation:

  • change the first line of setup.py to point to the directory of your installation of python 2.*
  • run setup.py

Note: This will only install bitcoinrpc. If you also want to install jsonrpc to preserve backwards compatibility, you have to replace 'bitcoinrpc' with 'jsonrpc' in setup.py and run it again.

Example usage:

from bitcoinrpc.authproxy import AuthServiceProxy, JSONRPCException

# rpc_user and rpc_password are set in the bitcoin.conf file
rpc_connection = AuthServiceProxy("http://%s:%s@127.0.0.1:8332"%(rpc_user, rpc_password))
best_block_hash = rpc_connection.getbestblockhash()
print(rpc_connection.getblock(best_block_hash))

# batch support : print timestamps of blocks 0 to 99 in 2 RPC round-trips:
commands = [ [ "getblockhash", height] for height in range(100) ]
block_hashes = rpc_connection.batch_(commands)
blocks = rpc_connection.batch_([ [ "getblock", h ] for h in block_hashes ])
block_times = [ block["time"] for block in blocks ]
print(block_times)

Logging all RPC calls to stderr:

from bitcoinrpc.authproxy import AuthServiceProxy, JSONRPCException
import logging

logging.basicConfig()
logging.getLogger("BitcoinRPC").setLevel(logging.DEBUG)

rpc_connection = AuthServiceProxy("http://%s:%s@127.0.0.1:8332"%(rpc_user, rpc_password))
print(rpc_connection.getinfo())

Produces output on stderr like:

DEBUG:BitcoinRPC:-1-> getinfo []
DEBUG:BitcoinRPC:<-1- {"connections": 8, ...etc }

Metadata

Release files for python-requests-bitcoinrpc 0.4.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for python-requests-bitcoinrpc 0.4.0
File Size Uploaded
python-requests-bitcoinrpc-0.4.0.tar.gz 5.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for python-requests-bitcoinrpc 0.4.0
File Interpreter ABI Platform
python_requests_bitcoinrpc-0.4.0-py3-none-any.whl Python 3 none any Details

Total release size: 10.7 kB

Release files / python-requests-bitcoinrpc-0.4.0.tar.gz

Download URL python-requests-bitcoinrpc-0.4.0.tar.gz
Size 5.1 kB
Tags Source
SHA-256 checksum
How to use checksums
7e47f08b0b0d1dfdbcf415a8dea8b662773090d8c91caadfb44538887b7efcfd
BLAKE2b-256 checksum
How to use checksums
704e4ee781ad3c977cce4dc85460911193c02d381ab0417f39d8fd92305d9e40
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.7.8

Release files / python_requests_bitcoinrpc-0.4.0-py3-none-any.whl

Download URL python_requests_bitcoinrpc-0.4.0-py3-none-any.whl
Size 5.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f6d887bea694386296e1e1eaf77f3fc6d8631c66b15df3491d88be15b1eda1ce
BLAKE2b-256 checksum
How to use checksums
73d90eebd42314c90a484bb0a4161933330c26af641246956d550f5c14a77bf7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.7.8

Release history Release notifications | RSS feed

This release

0.4.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page