在比特币应用开发中,一个常见的问题就是,在知道比特币地址的情况下,如何查询这个地址上发生的所有交易?或者类似的说法,如何查询一个指定的比特币地址发生的所有交易? 本文将给出这一问题的三种解决方案。
如果要快速掌握比特币的对接与应用开发,推荐汇智网的在线互动课程: 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
单片机控制步进电机的原理
光学传递函数的发展及其应用
HT for Web (Hightopo) 3D场景环境配置(天空球,雾化,辉光,景深)
电磁干扰(EMI)如何减轻PCB上的电磁干扰
FPGA和单片机的串行通信接口设计
如何利用地址来查询比特币交易
凌力尔特推出新款DC/DC控制器LTC3838
三大运营商的第一批5G网络覆盖城市落定,联通要发力了!
使用两个SN74181芯片级联实现8位ALU
电源管理IC类别与全球电源管理芯片厂商大盘点
自架电子邮件系统收发不正常的几种原因
选择光纤线需知道的基础知识
【机器视觉】欢创播报 | 英伟达拿下全球90%的AI芯片市场
单片机自学笔记 51单片机自学好找工作吗
物联网产品变化快速 催动PCB设计技术更上一层
两款千元机正面较量,坚果Pro“硬”还是魅蓝Note6“美”?我选小米MIX2
LED照明标准光组件:实现LED产业链式标准化
实现高性能电路保护,压敏电阻应用正当时
5G网络的发展对于车联网将会带来哪些影响
盘点ADG9xx宽带CMOS开关解决方案