https://github.com/0xb10c/bademeister-go
Implementation of Bademeister, a mempool watcher and recorder, in Golang.
https://github.com/0xb10c/bademeister-go
Last synced: 3 months ago
JSON representation
Implementation of Bademeister, a mempool watcher and recorder, in Golang.
- Host: GitHub
- URL: https://github.com/0xb10c/bademeister-go
- Owner: 0xB10C
- Created: 2019-10-22T21:11:56.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2023-10-02T11:08:47.000Z (over 1 year ago)
- Last Synced: 2024-06-21T19:10:10.699Z (11 months ago)
- Language: Go
- Homepage:
- Size: 230 KB
- Stars: 1
- Watchers: 3
- Forks: 3
- Open Issues: 18
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# bademeister-go
Bademeister implementation in Golang.
## What is bademeister?
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).### Motivation
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.### Design Goals
* Easy to run: requirement is a patched version of `bitcoind`
* Easy to interface with
* REST API, Golang API
* Support simple query types like
* `getFirstSeen(txid, nodeId): Date`
* `getMempool(Date, nodeId): Transaction[]`
* Easy to combine multiple sources of data to have a robust data collection network## Development
### Git Hooks
Please set up git hooks to run `go fmt` and other linters:
```bash
git config core.hooksPath .git_hooks
```