# brk_rpc Thread-safe Bitcoin Core RPC client with automatic retries. ## What It Enables Query a Bitcoin Core node for blocks, transactions, mempool data, and chain state. Handles connection failures gracefully with configurable retry logic. ## Key Features - **Auto-retry**: Up to 1M retries with configurable delay on transient failures - **Thread-safe**: Clone freely, share across threads - **Full RPC coverage**: Blocks, headers, transactions, mempool, UTXO queries - **Mempool transactions**: Resolves prevouts for mempool tx fee calculation - **Reorg detection**: `get_closest_valid_height` finds main chain after reorg - **Sync waiting**: `wait_for_synced_node` blocks until node catches up ## Core API ```rust,ignore let client = Client::new("http://localhost:8332", Auth::CookieFile(cookie_path))?; let height = client.get_last_height()?; let hash = client.get_block_hash(height)?; let block = client.get_block(&hash)?; // Mempool let txids = client.get_raw_mempool()?; let entries = client.get_raw_mempool_verbose()?; ``` ## Key Methods - `get_block`, `get_block_hash`, `get_block_header_info` - `get_transaction`, `get_mempool_transaction`, `get_tx_out` - `get_raw_mempool`, `get_raw_mempool_verbose` - `get_blockchain_info`, `get_last_height` - `is_in_main_chain`, `get_closest_valid_height` ## Built On - `brk_error` for error handling - `brk_logger` for debug logging - `brk_types` for `Height`, `BlockHash`, `Txid`, `MempoolEntryInfo`