Skip to content

Latest commit

 

History

History
112 lines (64 loc) · 3.01 KB

INSTALL.rst

File metadata and controls

112 lines (64 loc) · 3.01 KB

Blocksmurfer Installation

Install packages needed for Bitcoinlib:

$ sudo apt install build-essential python3-dev libgmp3-dev libssl-dev python3-virtualenv

Create a virtual environment

$ virtualenv -p python3 venv/blocksmurfer
$ source venv/blocksmurfer/bin/activate

Download Blocksmurfer and install requirements.

$ git clone https://github.com/1200wd/blocksmurfer.git
$ cd blocksmurfer
$ pip install -r requirements.txt

Copy configuration file and update secret key

$ cp config.example.py config.py
$ nano config.py

Now you can test your install and run flask directly

$ flask run
$ #  or if you want to accept connection from other hosts
$ flask run --host 0.0.0.0

or with gunicorn

$ ./boot.sh

Blocksmurfer should run now on http://localhost:5000

Docker

You can also create a basic local node with a docker image

$ docker container run --rm --name blocksmurfer -d -p 5000:5000 blocksmurfer/blocksmurfer

For more information about this image: https://hub.docker.com/r/blocksmurfer/blocksmurfer

Configuration

  • Please do not forget to enter a new secret key!
  • Select the networks you would like to support and update other settings if you like in the configuration

Please note:

  • Remove Blocksmurfer from Bitcoinlib's provider definitions in ./bitcoinlib/providers.json to avoid recursive loops.
  • Preferably use your own Bcoin node, or request for an API key at one of the providers to avoid provider errors.
  • In the Bitcoinlib config file (./bitcoinlib/config.ini) you can change the loglevel, log location, timeout for requests and other settings
  • If you use your own Bcoin node or have an API key, you might want to increase the max_transaction setting in config.ini to 100 or more.
  • If you get errors when trying to retrieve blocks or see negative numbers in confirmations, this probably means the blockchain is not fully synced yet. This can take several days for a Bcoin or Bitcoind node.

Database

In production environments you should use another database such as PostgreSQL instead of SQLite for fast and reliable caching.

To install PostgreSQL:

$ apt install postgresql postgresql-contrib libpq-dev
$ pip install psycopg2

Apache

Check the Apache config file example in blocksmurfer/examples/apache-example.conf to configure Blocksmurfer with Apache.

  • Install Apache and create log directories
$ sudo apt install apache2
$ sudo mkdir /var/log/apache2/blocksmurfer
  • Add the proxy modules
$ sudo a2enmod ssl
$ sudo a2enmod proxy
$ sudo a2enmod proxy_http
  • Copy the apache config file to /etc/apache2/sites-available, update the settings and create the link in /etc/apache2/sites-available
  • Now run blocksmurfer/boot.sh and your blockexplorer should be up and running