adamtache / haskell-tools

Tools for exporting blockchain data to analytical databases

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Travis CI Build Status Docker Repository on Quay

Haskell-based CoinMetrics.io tools

These tools are used by CoinMetrics.io team for exporting data from blockchains into analytical databases and monitoring full nodes synchronization state.

Utilities

  • coinmetrics-export - utility for exporting data from blockchains in formats suitable for inserting into analytics databases (SQL, Avro).
  • coinmetrics-monitor - utility for monitoring blockchain nodes and providing Prometheus-compatible metrics.

Status

The project is in early alpha deep development seems-like-its-working-oh-crap state. Command line interface is more or less stable but may change. Please use with caution.

Supported blockchains:

Binaries (experimental)

There're no stable releases yet. All binaries are "bleeding edge" ones built on Travis CI.

One easy way to run the tools is to use docker.

Pull the latest version:

docker pull quay.io/coinmetrics/haskell-tools

Run e.g. coinmetrics-export tool:

docker run -it --rm --net host quay.io/coinmetrics/haskell-tools coinmetrics-export <arguments>

Alternatively you can download executables:

Or packages:

Or setup package repository to receive updates:

For .deb:

echo 'deb https://dl.bintray.com/coinmetrics/haskell-tools-deb unstable main' > /etc/apt/sources.list.d/coinmetrics-haskell-tools.list
curl 'https://bintray.com/user/downloadSubjectPublicKey?username=bintray' | apt-key add -
apt update
apt install coinmetrics-export

For .rpm:

(cd /etc/yum.repos.d/ && curl -JOL https://bintray.com/coinmetrics/haskell-tools-rpm/rpm)
yum install coinmetrics-export

Packages have the advantage of providing bash completion support out of the box.

Building from source

Get stack.

Run stack build --install-ghc --copy-bins --local-bin-path <path for executables>. Executables will be built and placed by specified path.

The code is only tested on Linux (but maybe works on other OSes too).

About

Tools for exporting blockchain data to analytical databases

License:MIT License


Languages

Language:Haskell 99.8%Language:Dockerfile 0.2%