A tool for extracting data from Bitcoin-like blockchains into a relational database model.
A tool for extracting data from Bitcoin-like blockchains into a relational model.
Developed as part of the MSc Thesis “Merged Mining: Analysis of Effects and Implications” and the ESORICS CBT’17 paper “Merged Mining: Curse or Cure?”
Theoretically also possible:
mvn clean install
. This will download and build all necessary modules. Requires internet access!mvn spring-boot:run -Drun.profiles=<your profile>
Depending on the configuration and the size of the chosen blockchain, the initial data extraction process can take up to 96 hours (or longer).
The tool provides a performance monitoring, which will output information on operation duration (blockchain client queries and persistence operations) to stdout.
Termination will happen automatically after sucessfull extraction or in case of an error (e.g. blockchain client dies).
An email notification can be sent to your email address, if your server provides a mail server (see configuration)
Currently supported profiles:
btc
nmc
ltc
doge
myriad
Configuration is possible through .yml files:
chain:
email: allows to configure email notifications on termination (success / error)
For testing purposes a Vagrant VM build script is provided in the server
folder.
Requirements:
After installing the necessary software, run vagrant up
in ther server folder.
As a result, a VM with a PostrgeSQL 9.3 database server running on standard port 5432 will be provisioned.
You can access the VM by calling vagrant ssh
in the server folder.
To configure the VM please check the Vagrantfile
For database configurations (necessary!!!) please check the the bootstrap.sh file in the Vagrant-Setup folder.
Destory the VM - vagrant destroy
Shutdonw VM - vagrant halt
This tool was developed as a research prototype and, while built according to best practices, is still far from perfect.
Open todos include:
This software will be further improved and extended as part of the “Blockchain Data Analytics and Health Monitoring” project at IC3RE (Imperial College Centre for Cryptocurrency Research and Engineering) in cooperation with SBA Research.
Alexei Zamyatin - a.zamyatin@imprial.ac.uk