BigQuery 中的比特币:对 public 数据错误省略结果的区块链分析

Bitcoin in BigQuery: blockchain analytics on public data wrong ommited results

我正在尝试使用 BigQuery 中的比特币来提取与某些地址相关的比特币交易。 我尝试了以下查询来检索此信息,但我总是得到空结果。

SELECT
    timestamp,
    inputs.input_pubkey_base58 AS input_key,
    outputs.output_pubkey_base58 AS output_key,
    outputs.output_satoshis as satoshis
FROM `bigquery-public-data.bitcoin_blockchain.transactions`
    JOIN UNNEST (inputs) AS inputs
    JOIN UNNEST (outputs) AS outputs
WHERE outputs.output_pubkey_base58 = '16XMrZ2GNsrUBv3qNZtvvPKna2PKFuq8gQ'
    AND outputs.output_satoshis  >= 0
    AND inputs.input_pubkey_base58 IS NOT NULL
    AND outputs.output_pubkey_base58 IS NOT NULL
GROUP BY timestamp, input_key, output_key, satoshis

此外,当我将地址更改为包含更多交易的地址时,我得到了结果,但省略了一些交易。

不知道是我写错了还是怎么的。有人可以帮忙吗?

谢谢

我在之前的 post 中看到过类似的问题,并尝试了建议的内容,但没有成功: BigQuery Blockchain Dataset is Missing Data?

我希望在尝试时获得 3 个地址 WHERE 输出。output_pubkey_base58 = '16XMrZ2GNsrUBv3qNZtvvPKna2PKFuq8gQ'

和2个地址当chenge条件考虑输入端的地址

I am expecting to get 3 address when trying WHERE outputs.output_pubkey_base58 = '16XMrZ2GNsrUBv3qNZtvvPKna2PKFuq8gQ'

您的期望是正确的,但这里的问题是您使用的数据集已过时并且已迁移到 bigquery-public-data.crypto_bitcoin。数据更新正在发送到该数据集的新版本,其架构与我们的其他加密货币产品更好地保持一致。

开始 运行 以查看是否存在预期数据

#standardSQL
SELECT COUNT(*)
FROM `bigquery-public-data.crypto_bitcoin.transactions`,
  UNNEST(outputs) AS output,
  UNNEST(output.addresses) AS address
WHERE address = '16XMrZ2GNsrUBv3qNZtvvPKna2PKFuq8gQ'   

输出

Row f0_  
1   3