我正在尝试获取一个地址列表,这些地址已经与一个给定比特币地址进行交易,该项目用于检查人们如何将比特币用于非恶意目的。我有很多地址,所以基于网络的区块链浏览器如blockchain.info
是不切实际的。
我已经下载了区块链,并使用bitcoin-abe将其转储到sqlite数据库中。但是,我没有在任何地方找到地址。区块链中的实际地址是否有所不同?
答案 0 :(得分:2)
支出条件,即能够花费给定输出的人,被编码为answer中的脚本。通常所说的比特币地址只不过是默认的脚本格式(pay-to-pubkey或output),它需要来自与脚本中的pubkey匹配的私钥的签名。例如,P2PKH脚本如下所示:
OP_DUP OP_HASH160 <PubkeyHash> OP_EQUALVERIFY OP_CHECKSIG
这将检查堆栈上的pubkey是否与哈希匹配,然后检查签名和pubkey是否对事务有效。
ABE存储输出脚本,但似乎不会为地址创建索引。因此,您可能希望将要查找的地址转换为脚本版本(有关如何从地址中提取pubkey哈希或pubkey的详细信息,请参阅pay-to-pubkey-hash)。一旦你有了pubkey hash或pubkey,就可以构造一个类似于这个(hexencoded)的二进制脚本:
76a914<pubkey-hash>88ac
然后,您应该能够在ABE为您提供的数据库中搜索这些内容。
答案 1 :(得分:0)
您需要使用用户的BTC地址编写cron作业,并检查是否进行了交易。