用于比特币的python jsonrpc增强版

python-bitcoinrpc的Python项目详细描述


authServiceProxy是python jsonrpc的改进版本。

它包括以下一般性改进:

  • http连接在authServiceProxy对象的生命周期内持续存在
  • 根据json-rpc 1.1发送协议“version”
  • 发送正确的、递增的“id”
  • 使用标准的python json库
  • 可以选择记录所有rpc调用和结果
  • json-2.0批处理支持

它还包括以下特定于比特币的详细信息:

  • 发送基本的http身份验证头
  • 将所有看起来像浮点数的json数字解析为十进制, 并将十进制值序列化为JSON-RPC连接。

安装

  1. 将setup.py的第一行更改为指向python 2安装目录。*
  2. 运行setup.py

注意:这将只安装bitconirpc。如果您还想安装jsonrpc以保留 向后兼容,您必须在setup.py中将“bitcoinrpc”替换为“jsonrpc”,然后再次运行它。

或者简单地使用pip安装库:

pip install python-bitcoinrpc

示例

frombitcoinrpc.authproxyimportAuthServiceProxy,JSONRPCException# rpc_user and rpc_password are set in the bitcoin.conf filerpc_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]forheightinrange(100)]block_hashes=rpc_connection.batch_(commands)blocks=rpc_connection.batch_([["getblock",h]forhinblock_hashes])block_times=[block["time"]forblockinblocks]print(block_times)

将所有rpc调用记录到stderr

frombitcoinrpc.authproxyimportAuthServiceProxy,JSONRPCExceptionimportlogginglogging.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())

在stderr上生成输出,如

DEBUG:BitcoinRPC:-1-> getinfo [] DEBUG:BitcoinRPC:<-1- {“connections”: 8, …etc }

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java为什么我的代码永远运行?它只是一堆带int的for循环,应该是递减的?   java如何更改IntelliJ IDEA中的XML缩进?   java如何使未填充的int数组不打印0?   eclipse My Weka Java代码结果*Weka*虚拟*STRING*用于*STRING*属性*   java泄漏了Windows com。安卓内部的政策恳求   java这个无限循环的原因是什么?   swing My标签在Java中很模糊   java如何在组件表示存储扩展中获取组件对象   java如何避免selenium网格中的会话超时   Java乘法测验,如果答案错误,如何循环   在Java HttpServlet Google app engine中保存对象   java ArrayList过滤器   java跳跃减慢了xvelocity:使用Libgdx/Box2D进行跳跃和跑步   java删除、复制和修改pom。xml文件   当提供的时区与服务器的时区相同时,RestCall中的java@DateTimeFormat(iso=iso.DATE_TIME)不工作   java Spring批处理多线程默认限制为10隐式?   安卓错误java。lang.UnsupportedOperationException:无法转换为维度:type=0x1