Skip to content
This repository has been archived by the owner on Oct 26, 2020. It is now read-only.
/ docker-bitcoin-abc Public archive

Docker image for running Bitcoin Cash full node.

License

Notifications You must be signed in to change notification settings

4ops/docker-bitcoin-abc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Bitcoin ABC

Bitcoin ABC is a full node implementation of the Bitcoin Cash protocol.

See https://www.bitcoinabc.org for additional info about bitcoin-abc software.

Minimal hardware requirements for full node setup

testnet

For initital synchronization:

  • 2 CPU cores
  • 4 GB RAM
  • 40 GB of disk space

When synchronized:

  • 2 CPU cores
  • 2 GB RAM

mainnet

For initital synchronization:

  • 4 CPU cores
  • 8 GB RAM
  • 180 GB of disk space

When synchronized:

  • 2 CPU cores
  • 4 GB RAM

Deployment

Deploy with docker-compose

Linux CLI example:

$ curl -fsSL https://get.docker.com -o get-docker.sh # Do not forget to review scripts source code before execution

$ sh get-docker.sh # Install docker
(output omitted)

$ docker --version # Verify docker is installed
Docker version 18.09.6, build 481bc77

$ export BASEFILENAME=docker-compose-$(uname -s)-$(uname -m)

$ export BASEURL=https://github.com/docker/compose/releases/download/1.24.0

$ curl -fsSLO "${BASEURl}/${BASEFILENAME}" && curl -fsSLO "${BASEURl}/${BASEFILENAME}.sha256"

$ sha256sum -c $BASEFILENAME.sha256
docker-compose-Linux-x86_64: OK

$ chmod +x $BASEFILENAME && sudo mv $BASEFILENAME /usr/local/bin/docker-compose && rm -f $BASEFILENAME.sha256 && unset BASEURL && unset BASEFILENAME # Install docker-compose

$ docker-compose --version # Verify docker-compose installed
docker-compose version 1.24.0, build 0aa59064

$ mkdir -p my-bitcoin-abc-service-dir && cd $_ # Customize directory name

$ curl -fsSLO https://raw.githubusercontent.com/4ops/docker-bitcoin-abc/master/examples/docker/docker-compose.yml # Download service config

$ vi docker-compose.yml # Customize configuration

$ docker-compose config --quiet && docker-compose pull --quiet && echo OK # Verify configuration and download required images
OK

$ docker-compose up -d # Start service(s)
Creating network "my-bitcoin-abc-service-dir_default" with the default driver
Creating my-bitcoin-abc-service-dir_testnet_1 ... done
Creating my-bitcoin-abc-service-dir_mainnet_1 ... done

Deploy to existing kubernetes cluster (testnet only example)

Linux CLI example with kubectl:

$ mkdir -p my-bitcoin-abc-manifests && cd $_ # Customize directory name

$ export BASEURL=https://raw.githubusercontent.com/4ops/docker-bitcoin-abc/master/examples/kubernetes

$ curl -fsSLO "${BASEURL}/secret.yaml" && curl -fsSLO "${BASEURL}/service.yaml" && curl -fsSLO "${BASEURL}/statefulset.yaml" && unset BASEURL # Download statefulset example

$ vi secret.yaml # Customize passwords

$ vi service.yaml # Customize service configuration

$ vi statefulset.yaml # Customize application and disk storage configuration

$ kubectl -n my-bitcoin-abc-namespace apply -f `pwd` --dry-run # Check syntax
secret/bitcoin-abc-testnet created (dry run)
service/bitcoin-abc-testnet created (dry run)
statefulset.apps/bitcoin-abc-testnet created (dry run)

$ kubectl -n my-bitcoin-abc-namespace apply -f `pwd` # Deploy application (do not forget to change namespace name)