首页
学习
活动
专区
工具
TVP
发布

探索比特币源码4-JSON-RPC接口的其它调用方法

1LSGO软件技术团队

贡献人:马燕鹏

如果喜欢这里的内容,你能够给我最大的帮助就是转发,告诉你的朋友,鼓励他们一起来学习。

If you like the content here, the greatest helpyou can give meis forwarding, so tell your friends and encourage them to learn together.

上一文

探索比特币源码3 -- 熟悉RPC接口

中练习了使用 客户端调用 JSON-RPC 接口的方法。

本文探索 JSON-RPC 接口的其他调用方法,包括:

curl (命令行 HTTP 客户端)

其他语言的封装的 API 库(以 python 为例)

使用命令行 HTTP 客户端 curl 调用 RPC 接口

之前从未接触过 curl,所以这部分仅作简单了解和练习。

curl 是一种命令行工具,作用是发出网络请求,然后得到和提取数据,显示在"标准输出"(stdout)上面

如下是两个不错的资料:

curl网站开发指南 (http://www.ruanyifeng.com/blog/2011/09/curl.html)

curl命令介绍 (http://man.linuxde.net/curl)

当我们使用 获取某个具体 RPC 命令的帮助时,它会提供一个使用 curl 调用接口的示例:

按照提示,我们使用 curl 来完成一次简单的 JSON-RPC 调用:

其中 myusername 是 配置文件中所填的用户名

我在调用时,访问失败了,应该是科学上网的原因,我没有再深入研究。

现在让我们来进入下面更重要的部分,使用其他编程语言的封装库来访问 JSON-RPC 接口。

使用 python-bitcoinlib 库调用 RPC 接口

我们平时可能会产生一些需求,需要我们批量的调用 JSON-RPC 来对比特币区块链的数据进行一些分析。

这时候,使用编程的方式调用封装好的 RPC 接口是相当方便的。

大多数语言都提供了对于比特币核心 JSON-RPC 接口的封装,这里尝试了 精通比特币第三章 (http://book.8btc.com/books/6/masterbitcoin2cn/_book/ch03.html) 介绍的 python-bitcoinlib 库

安装python-bitcoinlib

首先安装依赖库:

然后安装python-bitcoinlib库

调用练习

我们先创建一个 rpc 调用练习文件 rpc_example.py:

运行python脚本

表明我的比特币节点目前同步了384204个区块

由于我的全节点区块链同步出了问题,这里仅做一个简单的测试,后面争取在这个小节补充更多的示例。

从当前来看,我觉得对编程爱好者最友好的就是区块链领域了,因为这个领域中所有的代码都是开源的,代码决定一切!哪怕项目方牛皮吹得天花乱坠,也不可能忽悠到我们,只有代码最可靠!为了更好的了解区块链这个领域,目前 LSGO软件技术团队 的一个小组,正在看BTC的源码,这是他们提交的学习成果!如果你对区块链领域感兴趣,可以加入进来,大家一起学习!

经过8年多的发展,LSGO软件技术团队在地理信息系统、数据统计分析、计算机视觉领域积累了丰富的研发经验,也建立了人才培养的完备体系。

欢迎对算法设计与实现感兴趣的同学加入,与我们共同成长进步。

本微信公众平台长期系统化提供有关机器学习、软件研发、教育及学习方法、数学建模的知识,并将以上知识转化为实践。拒绝知识碎片化、耐心打磨技能、解决实际问题是我们的宗旨和追求。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180811B00IZA00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券