Expand description
§brk_fetcher
Bitcoin price data fetcher with multi-source fallback.
§What It Enables
Fetch OHLC (Open/High/Low/Close) price data from Binance, Kraken, or BRK’s own API. Automatically falls back between sources on failure, with 12-hour retry persistence for transient network issues.
§Key Features
- Multi-source fallback: Binance → Kraken → BRK API
- Health tracking: Temporarily disables failing sources
- Two resolution modes: Per-date (daily) or per-block (1-minute interpolated)
- HAR file support: Import Binance 1mn data from browser network captures for historical fills
- Permanent block detection: Stops retrying on DNS/TLS failures
§Core API
ⓘ
let mut fetcher = Fetcher::import(Some(&hars_path))?;
// Daily price
let ohlc = fetcher.get_date(Date::new(2024, 4, 20))?;
// Block-level price (uses 1mn data when available)
let ohlc = fetcher.get_height(height, block_timestamp, prev_timestamp)?;§Sources
| Source | Resolution | Lookback | Notes |
|---|---|---|---|
| Binance | 1mn | ~16 hours | Best for recent blocks |
| Kraken | 1mn | ~10 hours | Fallback for recent |
| BRK API | Daily | Full history | Fallback for older data |
§HAR Import
For historical 1-minute data beyond API limits, export network requests from Binance’s web interface and place the HAR file in the imports directory.
§Built On
brk_errorfor error handlingbrk_loggerfor retry loggingbrk_typesforDate,Height,Timestamp,OHLCCents
Structs§
- BRK
- Binance
- Fetcher
- Kraken
- Tracked
Source - Wraps a price source with health tracking. Automatically skips blocked/unreachable sources and rechecks after cooldown.
Traits§
- Price
Source - A price data source that can fetch OHLC data by date or timestamp.
Functions§
- check_
response - Check HTTP response status and return bytes or error
- compute_
ohlc_ from_ range - Compute OHLC for a block from a time series of minute data. Aggregates all candles between previous_timestamp and timestamp.