The block locator is the primitive a node uses to announce its chain position to peers. When a node resumes after shutting down on a stale tip, it sends its locator so a peer can identify the fork point and serve the blocks needed to reach the best chain. Without this, callers of libbitcoinkernel have no canonical way to recover from a stale tip.
Adds three C API functions: btck_chainstate_manager_get_locator to retrieve the active tip’s locator as a btck_BlockLocator, btck_block_locator_to_bytes to serialize it, and btck_block_locator_destroy to free it.
Includes a C++ convenience wrapper and Boost tests covering the genesis-only and post-IBD cases.
Motivated by kernel-node/pull/30 (edit: idea for the PR came from rustaceanrob’s comment ), which needs this primitive to implement sync recovery in a Rust consumer of libbitcoinkernel.