Sign inSign up

bitcoinabc/chronik-plugins

By bitcoinabc

•Updated 3 days ago

Bitcoin ABC full node with Chronik plugins enabled.

Image
0

4.2K

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:b27bce121…

Size

74.9 MB

Last updated

3 days ago

docker pull bitcoinabc/chronik-plugins