Coder Social home page Coder Social logo

tokensdl / mempool Goto Github PK

View Code? Open in Web Editor NEW

This project forked from jhoenicke/mempool

1.0 0.0 0.0 294 KB

Bitcoin Mempool Statistics

License: GNU Affero General Public License v3.0

Shell 3.74% JavaScript 45.89% Python 27.86% Perl 1.87% PHP 1.62% CSS 2.42% HTML 16.60%

mempool's Introduction

Bitcoin Mempool Statistics

This is the code to create the mempool statistics for bitcoin that are online at https://mempool.jhoenicke.de/

Installation: Part 1 - Logging

You need to be running a bitcoin full node. It can be a pruned node or an archival node. I assume you have already set it up. You also need to support RPC to this node. Add rpcuser/rpcpassword to bitcoin.conf to enable this.

I recommend to create a new user mempool. Checkout this repository into his home directory:

sudo -H -u mempool bash
cd $HOME
git clone https://github.com/jhoenicke/mempool

Edit mempool.sh to adapt paths as necessary, especially the path to bitcoin-cli. Add a bitcoin.conf with rpcuser/rpcpassword settings to /home/mempool/.bitcoin, to be able to use bitcoin-cli. You can test your setup by running

bitcoin-cli getmempoolinfo

Install mysql and create a database. Then you can test your configuration by running mempool.sh. If you don't want to use mysql, comment out the four lines starting with open(SQL at the end of mempool-sql.pl. In that case zooming and auto-update in the webinterface won't work.

sudo apt install mysql_server
mysql_secure_installation
mysql -u root -p <<EOF
create database btc_mempool;
create user 'mempool'@'localhost' identified by '<secret password>';
create user 'www'@'localhost' identified by '<redacted>';
grant all privileges on btc_mempool.* TO 'mempool'@'localhost';
grant select on btc_mempool.* TO 'www'@'localhost';
EOF
cat > ~/.my.cnf <<EOF
[client]
user=mempool
password=<secret password>
EOF
cd mempool
perl mempool-create.pl | mysql btc_mempool
./mempool.sh

You are almost ready now. Check that everything works. There should be a file mempool.log containing one line of statistics. There should be newly created files in /dev/shm/mempool-btc that contain the dynamic data the webserver should serve. If everything looks fine add the following crontab entry (using crontab -e):

* * * * * /home/mempool/mempool/mempool.sh 

Installation: Part 2 - Web service

Install a web server of your choice. For refreshing/zooming you need php and php-mysql. Then link/copy the web subdirectory to the web root. Finally link to the dynamic js files in /dev/shm/mempool-btc.

cd $HOME/mempool/web/queue
sudo ln -s $HOME/mempool/web/* /var/www/html
ln -s /dev/shm/mempool-btc/*.js $HOME/mempool/web/queue/

You then need to open $HOME/mempool/web/queue/mempool.js in your favorite editor and change the config array to include your web server configuration.

mempool's People

Contributors

abellykens avatar jhoenicke avatar kristapsk avatar marnixcroes avatar nicolas17 avatar

Stargazers

 avatar

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.