Bademeister implementation in Golang.
Bademeister records the mempool history of a Bitcoin Core node and provides access to the data over an API.
It stores the time when a transaction was first received by a bitcoin node, including transactions that do not end up in the blockchain (double-spends).
While the bitcoin blockchain contains all transactions that get eventually confirmed, the confirmation time (time between a transaction first appearing on the network and being included into a block by a miner) is not recorded on-chain.
Having a record of confirmation time allows research and benchmark of fee estimation algorithms and other applications.
bitcoind
getFirstSeen(txid, nodeId): Date
getMempool(Date, nodeId): Transaction[]
Please set up git hooks to run go fmt
and other linters:
git config core.hooksPath .git_hooks