Skip to main content

Just another Python bitcoin-rpc client. Built as faster alternative to python-bitcoinlib rpc (https://github.com/petertodd/python-bitcoinlib) and python-bitcoinrpc (https://github.com/jgarzik/python-bitcoinrpc) using pycurl and ujson.

Installation

pip install slick-bitcoinrpc

Example

from slickrpc import Proxy

bitcoin = Proxy("http://%s:%s@127.0.0.1:8332"%(rpcuser, rpcpassword))
print(bitcoin.getblock(bitcoin.getbestblockhash()))

Performance Comparison

Method

Here’s bash script able to measure performance of such bitcoin rpc clients

RPC_URL='http://username:password@127.0.0.1:8332'
TASKS=(
  "p.getinfo()"
  "p.getblock(p.getbestblockhash())"
  "map(lambda tx: p.getrawtransaction(tx['txid'], 1), p.listtransactions())"
)
SETUPS=(
  "from slickrpc import Proxy; p = Proxy(service_url='$RPC_URL');"
  "from bitcoinrpc.authproxy import AuthServiceProxy; p = AuthServiceProxy(service_url='$RPC_URL');"
  "from bitcoin.rpc import Proxy; p = Proxy(service_url='$RPC_URL');"
)
for TASK in "${TASKS[@]}"
do
  for SETUP in "${SETUPS[@]}"
  do
    python -m timeit -s "$SETUP" -n 1000 "$TASK"
  done
done

Results

Values are best of 3, msec per loop

getinfo()

p.getblock(p.getbestblockhash())

map(lambda tx: p.getrawtransaction( tx[‘txid’], 1), p.listtransactions()

slick- bitcoinrpc

1.01 msec

1.17 msec

27.7 msec

python- bitcoinrpc

2.53 msec

3.89 msec

41.9 msec

python- bitcoinlib

2.76 msec

DeserializationExtraDataError

AttributeError

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

slick-bitcoinrpc-0.1.4.tar.gz (4.4 kB view details)

Uploaded Source

File details

Details for the file slick-bitcoinrpc-0.1.4.tar.gz.

File metadata

File hashes

Hashes for slick-bitcoinrpc-0.1.4.tar.gz
Algorithm Hash digest
SHA256 8a4ff4b45489dbd4e8f3a1ed3d482bf915b9ebc1b11698fb523b4d9fbe3eeea6
MD5 e75e15b8755eb92efc26c06648d1ab93
BLAKE2b-256 f0bc81d8c2296c5a4f7dbe5c9f822ac18d0547bf612589bf0e88b1e90c607d89

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1.4 This release

1 file

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page