{"id":38415865,"url":"https://github.com/bitcoin-data/block-arrival-times","last_synced_at":"2026-01-17T04:08:19.825Z","repository":{"id":62027321,"uuid":"537779793","full_name":"bitcoin-data/block-arrival-times","owner":"bitcoin-data","description":"A public Bitcoin Block Arrival Time Dataset licensed under CC0.","archived":false,"fork":false,"pushed_at":"2025-12-04T12:46:28.000Z","size":48356,"stargazers_count":11,"open_issues_count":1,"forks_count":9,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-12-07T20:34:39.412Z","etag":null,"topics":["bitcoin","block-arrivial-times","cc0","csv"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"cc0-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bitcoin-data.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-09-17T10:55:24.000Z","updated_at":"2025-12-04T19:25:24.000Z","dependencies_parsed_at":"2023-12-16T12:47:10.502Z","dependency_job_id":null,"html_url":"https://github.com/bitcoin-data/block-arrival-times","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/bitcoin-data/block-arrival-times","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bitcoin-data%2Fblock-arrival-times","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bitcoin-data%2Fblock-arrival-times/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bitcoin-data%2Fblock-arrival-times/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bitcoin-data%2Fblock-arrival-times/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bitcoin-data","download_url":"https://codeload.github.com/bitcoin-data/block-arrival-times/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bitcoin-data%2Fblock-arrival-times/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28494336,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-17T02:39:23.645Z","status":"ssl_error","status_checked_at":"2026-01-17T02:34:19.649Z","response_time":85,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bitcoin","block-arrivial-times","cc0","csv"],"created_at":"2026-01-17T04:08:18.923Z","updated_at":"2026-01-17T04:08:19.815Z","avatar_url":"https://github.com/bitcoin-data.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Bitcoin Block Arrival Time Dataset\n\nA dataset of block arrival times as seen by multiple nodes on the Bitcoin Network.\n\n## Dataset\n\nThe dataset is split over multiple CSV files in the `data` directory. One CSV\nfile per source. Each file contains the block `height`, the header `hash`, the\nmillisecond `timestamp` the block arrived/was first connected at the node. The\nCVS files do not have a header.\n\nExample:\n```\n759483,00000000000000000002b74f1fd927768b2bfd52d2a5229826303d480db5c76a,1666250167839\n759483,00000000000000000002b74f1fd927768b2bfd52d2a5229826303d480db5c76a,1666250167000\n759482,00000000000000000006e1c51365637bbc9a977b6bc027c00613025c1625a00a,1666249466074\n```\n\nThe sources can be combined into one, multi-source CSV file with the Python\nscript `contrib/combine.py`.\n\n## Adding Data\n\nTo add your block arrival times, create a CSV file with the above format in\nthe data directory. Make sure the timestamps are in millisecond precision.\nAlso, remember to update the data-availability graph (see below).\n\nBlock arrival timestamps can be parsed from the Bitcoin Core `debug.log`.\nA Python tool is provided under `contrib/process-debug-log.py`. This expects\na `debug.log` as input file, and a CSV file output name.\n\n```\npython3 contrib/process-debug-log.py /home/b10c/.bitcoin/debug.log data/my-timestamps.csv\n```\n\n## Quality Assurance\n\nThe dataset is run through automatic quality assurance checks in the CI.\nThere is a check for the arrival timestamps. We assume these should be\neither two hours before or after the block header timestamp. For this, we\nmaintain a list of height and header timestamps in\n`qa/block-timestamps/block-timestamps.csv`. When adding new timestamps, the\nlist might need to be updated. This can be done with the Bash script\n`qa/block-timestamps/update-block-timestamps.sh` requiring a Bitcoin Core\ninstance with the REST server enabled.\n\nThe following availability graph can be generated with the tool\n`qa/data-availability/gen-mermaid.py`. This should be updated when adding a\nnew data source.\n\n```mermaid\ngantt\ndateFormat x\ntitle data availability (not showing potential per-source holes)\ntodayMarker off\n\n0xb10c_peer-observer-frank: 1707523605000, 1764633510232\n0xb10c_peer-observer-charlie: 1707523605000, 1764633502435\n0xb10c_peer-observer-erin: 1707523606000, 1764633502410\n0xb10c_peer-observer-bob: 1707523605000, 1764633502292\n0xb10c_peer-observer-dave: 1707523606000, 1764633502266\n0xb10c_peer-observer-alice: 1707523605000, 1764633502241\n0xb10c_rs2: 1656356008000, 1727433209000\nvostrnad_node1: 1678416045000, 1702535282000\nn-thumann: 1669583939000, 1702072477000\ndarosior_node0: 1676970378000, 1702022714000\n0xb10c_monitoring1: 1605513978094, 1701968604513\nKIT_monitorB: 1554813325167, 1701803016066\nKIT_monitor2: 1439645276225, 1701798709781\nKIT_monitor1: 1439476817617, 1701797554640\n0xb10c_memo: 1635945250000, 1666268995000\noffing-gcp: 1633117022000, 1639414560000\n0xb10c_memo-old: 1562848974000, 1605772694000\n\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbitcoin-data%2Fblock-arrival-times","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbitcoin-data%2Fblock-arrival-times","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbitcoin-data%2Fblock-arrival-times/lists"}