用于比特币的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连接usb到uart设备到安卓设备>3.1   可以强制Php中的web应用程序与Java中的桌面应用程序一起工作吗?   java为什么自定义系统类加载器不工作?   数组在Java中解析具有多个分隔符的字符串   PMD Java 8德米特定律   JavaSpringMVC表单验证不适用于嵌套的复杂类型   让Eclipse Java组织导入以使用Google checkstyle   java Appium:无法创建新会话   java如何在数组中声明新字段   java如何解决“无法初始化类org.apache.cassandra.config.DatabaseDescriptor”?   java AsyncTask创建socket   java向@CreatedBy添加更多信息   如何在ubuntu中运行包含大量jars依赖项的java文件   java如何使用<s:select>标记并在中休眠来填充下拉列表?   java获取错误:找不到符号变量“level”和“next_level_button”   javaweb应用中基于UI的ajax显示代码流   Java长到MySql   java JvisualVM:奇怪的应用程序行为   ubuntu将Java程序的输出结果保存到一个文件中