Skip to content

Instantly share code, notes, and snippets.

@wartstone
wartstone / zero-fee-bitcoin-tx.sql
Created March 23, 2022 13:24 — forked from allenday/zero-fee-bitcoin-tx.sql
Find zero-fee Bitcoin transactions
SELECT
ROUND((input_value - output_value)/ size, 0) AS fees_per_byte,
COUNT(*) AS txn_cnt
FROM
`bigquery-public-data.crypto_bitcoin.transactions`
WHERE TRUE
AND block_timestamp >= '2018-01-01'
AND is_coinbase IS FALSE
GROUP BY 1
@wartstone
wartstone / transacting-partner-count.sql
Created March 23, 2022 13:24 — forked from allenday/transacting-partner-count.sql
Number of transacting partners per Bitcoin address
SELECT
txn_count,
COUNT(txn_count) AS num_addresses
FROM
(
SELECT
ARRAY_TO_STRING(inputs.addresses, '') AS addresses,
COUNT(DISTINCT `hash`) AS txn_count
FROM `crypto-etl-ethereum-dev.bitcoin_blockchain.transactions` AS txns
CROSS JOIN UNNEST(txns.inputs) AS inputs
@wartstone
wartstone / mining-pool-address-features.sql
Created March 23, 2022 13:24 — forked from allenday/mining-pool-address-features.sql
Bitcoin mining pool address signatures and statistics of their behavior over time.
WITH
output_ages AS (
SELECT
ARRAY_TO_STRING(outputs.addresses,',') AS output_ages_address,
MIN(block_timestamp_month) AS output_month_min,
MAX(block_timestamp_month) AS output_month_max
FROM `bigquery-public-data.crypto_bitcoin.transactions` AS transactions JOIN UNNEST(outputs) AS outputs
GROUP BY output_ages_address
)
,input_ages AS (