Sign inSign up

bitcoinabc/chronik-plugins

By bitcoinabc

Updated 13 days ago

Bitcoin ABC full node with Chronik plugins enabled.

Image
0

3.6K

bitcoinabc/chronik-plugins repository overview

Bitcoin ABC Logo

The goal of Bitcoin ABC is to create sound money that is usable by everyone in the world. We believe this is a civilization-changing technology which will dramatically increase human flourishing, freedom, and prosperity. The project aims to achieve this goal by implementing a series of optimizations and protocol upgrades that will enable peer-to-peer digital cash to scale many orders of magnitude beyond current limits.

What is eCash?

eCash is an experimental digital currency that enables instant payments to anyone, anywhere in the world. It uses peer-to-peer technology to operate with no central authority: managing transactions and issuing money are carried out collectively by the network. eCash is a descendant of Bitcoin.

What is Bitcoin ABC?

Bitcoin ABC is the name of open-source software which enables the use of eCash. It is a fork of the Bitcoin Core software project.

How to use

Replace <version> with the container tag name in the instructions below.

Running the node software

By default the container will execute bitcoind. A default node configuration is created upon first start:

  • Chronik is enabled
  • Chronik has plugins support enabled
  • The Agora plugin is enabled
docker run bitcoinabc/chronik-plugins:<version>

To pass options to bitcoind, pass them as arguments to the container:

docker run bitcoinabc/chronik-plugins:<version> bitcoind -version

You can also run another tool by specifying it as an argument to the container:

docker run bitcoinabc/chronik-plugins:<version> bitcoin-cli -version

Exposing Chronik port

In order to access the Chronik API from an external application, you need to expose the port. Default port for Chronik is 8331:

docker run -p 8331:8331 bitcoinabc/chronik-plugins:<version>

It is also a good idea to expose the node P2P port (8333) so it accepts inbound connections:

docker run -p 8331:8331 -p 8333:8333 bitcoinabc/chronik-plugins:<version>

Persistent data directory

The container uses /data volume as the default data directory. To make this directory persistent across container runs, you can bind the volume to your local filesystem:

mkdir ~/bitcoin-abc-data
# You can also give permissions only to user 1001:1001
chmod 777 ~/bitcoin-abc-data
docker run -v ~/bitcoin-abc-data:/data bitcoinabc/chronik-plugins:<version>

Note: Make sure the container has write access to you local folder.

Communication between bitcoin-cli and bitcoind

In order to make bitcoin-cli and bitcoind communicate together, they need to use the same network. By using the same data directory, they also share the authentication cookie:

# Run the bitcoind container in the background
docker run --name bitcoind -v ~/bitcoin-abc-data:/data --rm -d bitcoinabc/chronik-plugins:<version>
docker run --network container:bitcoind -v ~/bitcoin-abc-data:/data --rm bitcoinabc/chronik-plugins:<version> bitcoin-cli getnetworkinfo
docker stop bitcoind

Public access to your Chronik instance

By default chronik will only listen on the localhost interface. If the chronik-plugins instance needs to be accessible from the internet, you will need to change the configuration (either via a command line option or via the bitcoin.conf file in your data directory) and you likely want to use a reverse proxy.

The full documentation, including the configuration options and a guide to setup Nginx as a reverse proxy is available at https://chronik.e.cash.

Tag summary

Content type

Image

Digest

sha256:46095cadf

Size

75.8 MB

Last updated

13 days ago

docker pull bitcoinabc/chronik-plugins