如何查询比特币地址的全部交易?
在比特币应用开发中,一个常见的问题就是,在知道比特币地址的情况下,如何查询这个地址上发生的所有交易?或者类似的说法,如何查询一个指定的比特币地址发生的所有交易? 本文将给出这一问题的三种解决方案。
如果要快速掌握比特币的对接与应用开发,推荐汇智网的在线互动课程:
Java比特币开发详解 ----- Php比特币开发详解 ----- C#比特币开发详解
1、将比特币交易数据存入数据库
由于比特币的数据存储结构,不可能直接利用比特币的原始API来查询指定地址的历史交易数据。因此最朴素(Naive)的第一种解决方案,就是将比特币区块链上的每一笔交易数据存到自己的数据库里,然后针对交易地址信息(例如Scriptpubkey、pubkey或者地址本身)建立索引,这样就可以在数据库上自由、高效地查询了。
2、利用第三方的服务
朴素的第一种方案需要自己解析比特币区块链数据,自己搭建数据库环境,可能你觉得有点麻烦。好在有很多第三方机构已经做了这件繁琐的事情,并且通过开放API的形式提供出来,你可以直接使。
例如,你可以使用blockchain.info的api来实现这个功能:
$ curl https://blockchain.info/rawaddr/$bitcoin_address
3、换一种比特币节点实现软件
如果你不愿意自己搞数据库,也不愿意使用第三方的开放API,还有第三种解决方案,就是换一种支持按比特币地址查询交易的节点实现软件,例如btcd,这是一个go语言实现的比特币节点软件,当你启动btcd时,只要使用--addrindex
标志就可以自动建立比特币地址索引了:
$ btcd --addrindex
本文列出的解决用比特币地址查询历史交易的三种解决方案,分别适用于不同的应用场景,你可以
根据自己的需要做出相应的选择。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
比特币第三方api大全
在开发比特币应用时,除了使用自己搭建的节点,也可以利用第三方提供的比特币api,来获取市场行情、进行交易支付、查询账户余额等。这些第三方api不一定遵循标准的比特币rpc接口规范,但往往会利用自身的数据存储来增加比特币行情api、交易到账通知api、比特币rest api等,因此可以作为比特币应用开发的有益补充。本文介绍比特币开发人员常用的第三方比特币api的特点及访问地址。 如果要快速掌握比特币的对接与应用开发,推荐汇智网的在线互动课程: Java比特币开发详解 ----- Php比特币开发详解 ----- C#比特币开发详解 1、blockchain.com比特币api blockchain.com的比特币api是最受欢迎的比特币开发第三方api之一,提供支付处理、钱包服务、市场行情数据等功能。blockchain.com的比特币api同时还提供了针对多种语言的封装开发包,例如python、java、.net(c#)、ruby、php和node。 地址:https://www.blockchain.com/api 2、chain.so比特币api chain.so的特色是除了提供比...
- 下一篇
Linux之《荒岛余生》(三)内存篇
内存问题,脑瓜疼脑瓜疼。脑瓜疼的意思,就是脑袋运算空间太小,撑的疼。本篇是《荒岛余生》系列第三篇,让人脑瓜疼的内存篇。其余参见: Linux之《荒岛余生》(一)准备篇 Linux之《荒岛余生》(二)CPU篇 小公司请求量小,但喜欢滥用内存,开一堆线程,大把大把往jvm塞对象,最终问题是内存溢出。 大公司并发大,但喜欢强调HA,所以通常保留swap,最终问题是服务卡顿。 而喜欢用全局集合变量的某些同仁,把java代码当c写,对象塞进去但忘了销毁,最终问题是内存泄漏。 如何避免?合理参数、优雅代码、禁用swap,三管齐下,trouble shooter。 从一个故事开始 老王的疑问 一个阳光明媚的下午,一条报警短信弹了出来。老王微微一笑,是cpu问题,idle瞬时值,大概是某批请求比较大引起的峰值问题。老王每天都会收到这样的短信,这样的一个小峰值,在数千台服务器中,不过是沧海一栗,继续喝茶就是了。 但,这次不一样。几分钟之后,几百个服务的超时报警铺天盖地到来。事后老王算了一下,大概千分之零点几的服务超时了,不过这已经很恐怖了。事态升级,恐怕没时间喝茶了。 大面积报警,应该是全局问题,是网络...
相关文章
文章评论
共有0条评论来说两句吧...