Биткойн в BigQuery: блокчейн-аналитика публичных данных неверно опущена - PullRequest
1 голос
/ 28 октября 2019

Я пытаюсь использовать биткойны в 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

Кроме того, когда я меняю адрес на адрес с несколькими транзакциями, я получаю результаты, но некоторые транзакции опущены.

Я не знаю, пишу ли я что-то не так или что. Кто-нибудь может помочь, пожалуйста?

Спасибо

Я видел подобный вопрос в предыдущем посте и попробовал то, что было предложено, но это не сработало: Набор данных BigQuery Blockchain отсутствует в данных?

Я ожидаю получить 3 адреса при попытке WHERE output.output_pubkey_base58 = '16XMrZ2GNsrUBv3qNZtvvPKna2PKFuq8gQ'

и 2 адреса при изменении условия для рассмотрения адреса на входной стороне

1 Ответ

1 голос
/ 30 октября 2019

Я ожидаю получить 3 адреса при попытке WHERE output.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    
...