Giter Club home page Giter Club logo

draw_mempool's Introduction

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 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.

draw_mempool's People

Contributors

conscott avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

frstrtr ordinalos

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.