Metadata-Version: 2.1
Name: draw-mempool
Version: 0.1.2
Summary: Draw the Bitcoin Core mempool
Home-page: https://github.com/conscott/draw_mempool
Author: conscott
Author-email: conor.r.scott.88@gmail.com
License: UNKNOWN
Keywords: bitcoin mempool
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.4
Description-Content-Type: text/markdown
Requires-Dist: matplotlib (==2.1.2)
Requires-Dist: networkx (==2.1)

## Bitcoin Mempool Inspector

A tool to inspect and filter mempool transactions and their dependencies. This currently
requires a locally running version of bitcoind and will use `bitcoin-cli` to pull
data about the mempool and block template info.

### Requirements

* Bitcoin Core >= v0.17
* Python 3.4, 3.5, 3.6
* Matplotlib v2 dependencies
* TK for Python

### Install System Dependencies

```
sudo apt-get install python3-dev python3-tk
sudo apt-get build-dep python-matplotlib
```

If the `build-dep` command does not work, you may need to enable the [deb-src](https://techoverflow.net/2018/05/03/how-to-fix-apt-get-source-you-must-put-some-source-uris-in-your-sources-list/) repository

### Installation Ubuntu & Debian

To Install With `pip`
```
pip3 install draw_mempool
```

To Install from Source
```
git clone https://github.com/conscott/draw_mempool
cd draw_mempool
python3 -v venv venv
source venv/bin/activate
python3 setup.py install
```

### Try it out
```
./draw_mempool.py --help
```

### Examples
```
# Only show transactions with ancestor dependencies within last 60 minutes with a fee-rate
# above 20 sat/byte
./draw_mempool.py --minancestors=2 --minfeerate=20 --maxage=60  

# Show high fee transactions (above 300 sat/byte)
./draw_mempool.py --minfeerate=300

# Animate live mempool, coloring tx's to be included in next block as blue
./draw_mempool.py --maxage=10 --animate --color_bt

# Color transactions signaling RBF
./draw_mempool.py --color_rbf 

# Draw the 2-block fee estimate as a horizontal line, as well as coloring 
# transactions to be included in the next block
./draw_mempool.py --nestimatefee=2 --color_bt
```

### Events
- Clicking on a tx will print the tx hash and fee / size information. 
- Double clicking on a transactions will open a browser tab, to inspect the tx on blockstream.info
- Clicking the 'm' button will redraw the mempool without the txs included in `getblocktemplate`, to help visualize what the mempool would look like after the next block is mined (can help with fee estimates). 
- You can zoom and pan using the buttons provided in the lower menu.

### Known Issues
- This program gets quite slow when there is a large mempool and does best when there are less than 10,000 transactions to draw. You can use the tx filter functions (like `--maxage`) to reduce the total txs drawn.
- When using `--animate`, the zoom will reset on every re-draw.


