Bitcoin ABC is a full node implementation of the Bitcoin Cash protocol.
See https://www.bitcoinabc.org for additional info about bitcoin-abc software.
For initital synchronization:
- 2 CPU cores
- 4 GB RAM
- 40 GB of disk space
When synchronized:
- 2 CPU cores
- 2 GB RAM
For initital synchronization:
- 4 CPU cores
- 8 GB RAM
- 180 GB of disk space
When synchronized:
- 2 CPU cores
- 4 GB RAM
- Install docker.
- Install docker-compose.
- Copy example config to your server and customize it.
- Start service(s) 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
- Download secret, service and statefulset examples.
- Customize downloaded manifests.
- Deploy them to kubernetes.
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)