Skip to content

feat(scripts): add consolidated multi-chain sync progress bar#1210

Open
theguysaccount wants to merge 1 commit into
KeychainMDIP:mainfrom
theguysaccount:feat/consolidated-sync-progress
Open

feat(scripts): add consolidated multi-chain sync progress bar#1210
theguysaccount wants to merge 1 commit into
KeychainMDIP:mainfrom
theguysaccount:feat/consolidated-sync-progress

Conversation

@theguysaccount
Copy link
Copy Markdown

@theguysaccount theguysaccount commented Jun 3, 2026

Closes #1211

Summary

During ./start-node, the backing Bitcoin Core nodes (btc-node, tbtc-node, signet-node, …) emit one UpdateTip … progress= log line per block during initial block download. The result is a multi-thousand-line firehose that buries the Gatekeeper/Keymaster/IPFS logs and makes it hard to see how far along a sync is.

This adds scripts/sync-progress.mjs, a zero-dependency Node filter that consumes the compose log stream and renders a single in-place display: one combined OVERALL bar plus a per-chain bar with height and block date.

Usage

docker compose logs -f | node scripts/sync-progress.mjs
# or
./start-node | node scripts/sync-progress.mjs

Only lines containing progress= are consumed, so non-Bitcoin service logs are ignored.

Notes

  • Pure stdlib (node:readline), no new dependencies, consistent with the existing scripts/btc-logs / scripts/signet-logs helpers.
    • A more robust long-term approach would poll each node's getblockchaininfo (verificationprogress) over RPC instead of scraping stdout — happy to follow up with that if maintainers prefer.
      Opening as a discussion-starter per CONTRIBUTING.md; glad to file a tracking issue and re-link if you'd like.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Consolidate Bitcoin Core sync logs into a single progress display

1 participant