首页 > 解决方案 > BigQuery 区块链数据集缺少数据?

问题描述

我正在尝试对最富有的比特币钱包进行一些分析,发现 BigQuery 数据集缺少大量数据。

例如,看看目前排名第一的最富有的账户。

钱包地址为:“3D2oetdNuZUqQHPJmcMDDHYoqkyNVsFk9r”

如果我在blockexplorer或任何在线区块链数据源中查找此钱包,我会看到钱包已收到约 329 万并发送约 316 万,净余额为 138,660 BTC。

然而,当我查看任何 transcations where 时 inputpubkeybase58 == '3D2oetdNuZUqQHPJmcMDDHYoqkyNVsFk9r',我得到的结果为零。

这是我作为测试编写的查询。

SELECT i.input_pubkey_base58
from `bigquery-public-data.bitcoin_blockchain.transactions`
  JOIN UNNEST(inputs) as i
where i.input_pubkey_base58 = '3D2oetdNuZUqQHPJmcMDDHYoqkyNVsFk9r'
LIMIT 100

为什么上述查询中没有引用发送的 316 万个 BTC?

如果我说或做一些愚蠢的事情,请纠正我。谢谢!

编辑:我可以找到o.output_pubkey_base58 == '3D2oetdNuZUqQHPJmcMDDHYoqkyNVsFk9r'没有问题的交易。但我不是在寻找收到的 BTC 总量,而是根据上述查询从钱包发送 BTC 的交易。

更新:为了更清楚地说明这种差异,我试图检查从 blockchain.com 上的上述地址发送 BTC 的交易。在 BigQuery 中找不到从钱包发送 BTC 的大多数近期交易。例如,我找不到 2018 年 10 月 22 日的交易,其中 2,000 BTC 被发送到 1Kr6QSydW9bFQG1mXiPNNu6WpJGmUa9i1g。

SELECT o.output_pubkey_base58, i.input_pubkey_base58, o.output_satoshis
FROM `bigquery-public-data.bitcoin_blockchain.transactions`
   JOIN UNNEST(inputs) as i
   JOIN UNNEST(outputs) as o
WHERE 
transaction_id ='6d0da34d69693ae81169a0cc3cd65847929939617d3a8cf41ef3d02971857a3e'

我能够找到一些 2017 年的旧交易,例如

SELECT o.output_pubkey_base58, i.input_pubkey_base58, o.output_satoshis
FROM `bigquery-public-data.bitcoin_blockchain.transactions`
   JOIN UNNEST(inputs) as i
   JOIN UNNEST(outputs) as o
WHERE 
transaction_id ='29dd29b8d1647c766f3fad233fe7a0c026fbb9f42544d96c917f6b028667907a'

但结果显示 i.input_pubkey_base58 为空

在此处输入图像描述

标签: google-bigquerybitcoin

解决方案


试试下面

SELECT COUNT(1)
FROM `bigquery-public-data.bitcoin_blockchain.transactions`,
UNNEST(outputs) AS o
WHERE o.output_pubkey_base58 = '3D2oetdNuZUqQHPJmcMDDHYoqkyNVsFk9r'  

这将为您提供 5417 笔交易


推荐阅读