1、下载BCH二进制文件

root@iZj6c076dm0c5n5b39lzlxZ:/data/docker-compose/bch# wget https://github.com/bitcoin-cash-node/bitcoin-cash-node/releases/download/v26.1.0/bitcoin-cash-node-26.1.0-x86_64-linux-gnu.tar.gz
--2023-07-05 16:30:46--  https://github.com/bitcoin-cash-node/bitcoin-cash-node/releases/download/v26.1.0/bitcoin-cash-node-26.1.0-x86_64-linux-gnu.tar.gz
Resolving github.com (github.com)... 20.205.243.166
Connecting to github.com (github.com)|20.205.243.166|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://objects.githubusercontent.com/github-production-release-asset-2e65be/241285883/7c3b9d21-f5b2-4ea3-af13-7bfbce675090?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20230705%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20230705T083046Z&X-Amz-Expires=300&X-Amz-Signature=ba16034d6d655ad5154d50249a581607f2c2c3b49dc1e4e1b6fef86683a66795&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=241285883&response-content-disposition=attachment%3B%20filename%3Dbitcoin-cash-node-26.1.0-x86_64-linux-gnu.tar.gz&response-content-type=application%2Foctet-stream [following]
--2023-07-05 16:30:47--  https://objects.githubusercontent.com/github-production-release-asset-2e65be/241285883/7c3b9d21-f5b2-4ea3-af13-7bfbce675090?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20230705%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20230705T083046Z&X-Amz-Expires=300&X-Amz-Signature=ba16034d6d655ad5154d50249a581607f2c2c3b49dc1e4e1b6fef86683a66795&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=241285883&response-content-disposition=attachment%3B%20filename%3Dbitcoin-cash-node-26.1.0-x86_64-linux-gnu.tar.gz&response-content-type=application%2Foctet-stream
Resolving objects.githubusercontent.com (objects.githubusercontent.com)... 185.199.111.133, 185.199.110.133, 185.199.108.133, ...
Connecting to objects.githubusercontent.com (objects.githubusercontent.com)|185.199.111.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 31056067 (30M) [application/octet-stream]
Saving to: ‘bitcoin-cash-node-26.1.0-x86_64-linux-gnu.tar.gz’

bitcoin-cash-node-26.1.0-x86_64-linux-gnu.tar.gz            100%[=========================================================================================================================================>]  29.62M  20.1MB/s    in 1.5s    

2023-07-05 16:30:49 (20.1 MB/s) - ‘bitcoin-cash-node-26.1.0-x86_64-linux-gnu.tar.gz’ saved [31056067/31056067]

2、编写Dockerfile

root@iZj6c076dm0c5n5b39lzlxZ:/data/docker-compose/bch# vim Dockerfile
root@iZj6c076dm0c5n5b39lzlxZ:/data/docker-compose/bch# cat Dockerfile 
M ubuntu:20.04

# 安装依赖库和工具
RUN apt-get update && apt-get install -y \
    curl \
    libssl-dev \
    libevent-dev \
    software-properties-common

ADD bitcoin-cash-node-26.1.0-x86_64-linux-gnu.tar.gz .
# 解压并复制二进制文件到 /usr/local/bin 目录
RUN mv bitcoin-cash-node-26.1.0/bin/bitcoind /usr/local/bin/ && \
    mv bitcoin-cash-node-26.1.0/bin/bitcoin-cli /usr/local/bin/ && \
    rm -rf bitcoin-cash-node-26.1.0 

# 配置 Bitcoin Cash 节点
COPY bitcoin.conf /root/.bitcoin/bitcoin.conf

# 暴露节点端口
EXPOSE 8332 8333

# 启动 Bitcoin Cash 节点
CMD ["/usr/local/bin/bitcoind"]

3、编写bitcoin配置文件
root@iZj6c076dm0c5n5b39lzlxZ:/data/docker-compose/bch# vim bitcoin.conf

server=1
txindex=1
listen=1
rpcbind=0.0.0.0:8332
rpcallowip=0.0.0.0/0
rpcport=8332
rpcuser=root
rpcpassword=qDDZdeQ5vw9XXFeVnXT4PZ
uacomment=bitcore-bch
#timestampindex=1

4、编写docker-compose.yml文件

root@iZj6c076dm0c5n5b39lzlxZ:/data/docker-compose/bch# vim docker-compose.yml
root@iZj6c076dm0c5n5b39lzlxZ:/data/docker-compose/bch# cat docker-compose.yml 
version: '3'

services:
  bch-node:
    image: bch/bitcoin-cash-node:v26.1.0
    volumes:
      - ./bitcoin.conf:/root/.bitcoin/bitcoin.conf
      - ./data:/bitcoin/data
    ports:
      - 8332:8332
      - 8333:8333

5、打镜像

root@iZj6c076dm0c5n5b39lzlxZ:/data/docker-compose/bch# docker build . -t bch/bitcoin-cash-node:v26.1.0
[+] Building 54.0s (10/10) FINISHED                                                                                                                                                                                                           
 => [internal] load .dockerignore                                                                                                                                                                                                        0.0s
 => => transferring context: 2B                                                                                                                                                                                                          0.0s
 => [internal] load build definition from Dockerfile                                                                                                                                                                                     0.0s
 => => transferring dockerfile: 670B                                                                                                                                                                                                     0.0s
 => [internal] load metadata for docker.io/library/ubuntu:20.04                                                                                                                                                                          2.5s
 => [internal] load build context                                                                                                                                                                                                        0.1s
 => => transferring context: 31.06MB                                                                                                                                                                                                     0.1s
 => [1/5] FROM docker.io/library/ubuntu:20.04@sha256:c9820a44b950956a790c354700c1166a7ec648bc0d215fa438d3a339812f1d01                                                                                                                    2.0s
 => => resolve docker.io/library/ubuntu:20.04@sha256:c9820a44b950956a790c354700c1166a7ec648bc0d215fa438d3a339812f1d01                                                                                                                    0.0s
 => => sha256:01085d60b3a624c06a7132ff0749efc6e6565d9f2531d7685ff559fb5d0f669f 27.51MB / 27.51MB                                                                                                                                         1.5s
 => => sha256:c9820a44b950956a790c354700c1166a7ec648bc0d215fa438d3a339812f1d01 1.13kB / 1.13kB                                                                                                                                           0.0s
 => => sha256:8c38f4ea0b178a98e4f9f831b29b7966d6654414c1dc008591c6ec77de3bf2c9 424B / 424B                                                                                                                                               0.0s
 => => sha256:14be0685b7682b182af5b862c9638cb1cb4ca1a70bd5aa90deed96e9cca881e7 2.30kB / 2.30kB                                                                                                                                           0.0s
 => => extracting sha256:01085d60b3a624c06a7132ff0749efc6e6565d9f2531d7685ff559fb5d0f669f                                                                                                                                                0.4s
 => [2/5] RUN apt-get update && apt-get install -y     curl     libssl-dev     libevent-dev     software-properties-common                                                                                                              47.6s
 => [3/5] ADD bitcoin-cash-node-26.1.0-x86_64-linux-gnu.tar.gz .                                                                                                                                                                         0.5s
 => [4/5] RUN mv bitcoin-cash-node-26.1.0/bin/bitcoind /usr/local/bin/ &&     mv bitcoin-cash-node-26.1.0/bin/bitcoin-cli /usr/local/bin/ &&     rm -rf bitcoin-cash-node-26.1.0                                                         0.3s 
 => [5/5] COPY bitcoin.conf /root/.bitcoin/bitcoin.conf                                                                                                                                                                                  0.0s 
 => exporting to image                                                                                                                                                                                                                   1.0s 
 => => exporting layers                                                                                                                                                                                                                  1.0s 
 => => writing image sha256:bb00a8466266b6e11326bc5b2241f1b7610f27cbbe0611c22105a966bf8f818f                                                                                                                                             0.0s 
 => => naming to docker.io/bch/bitcoin-cash-node:v26.1.0

6、启动容器

root@iZj6c076dm0c5n5b39lzlxZ:/data/docker-compose/bch# mkdir bitcoin
root@iZj6c076dm0c5n5b39lzlxZ:/data/docker-compose/bch# chmod 777 bitcoin -R
root@iZj6c076dm0c5n5b39lzlxZ:/data/docker-compose/bch# mv bitcoin data
root@iZj6c076dm0c5n5b39lzlxZ:/data/docker-compose/bch# docker-compose up -d
Starting bch_bch-node_1 ... done

7、查看节点同步情况

root@iZj6c076dm0c5n5b39lzlxZ:/data/docker-compose/bch# docker exec -it bch_bch-node_1 /bin/bash
root@496cbc45ff5a:/# bitcoin-cli -conf=/root/.bitcoin/bitcoin.conf  getblockchaininfo
{
  "chain": "main",
  "blocks": 220892,
  "headers": 800413,
  "bestblockhash": "00000000000001faa5f06c81b98ef9d008b5853243fa8449c1b4b1f2e6c76194",
  "difficulty": 3275464.586565617,
  "mediantime": 1360719428,
  "verificationprogress": 0.03421628954813776,
  "initialblockdownload": true,
  "chainwork": "00000000000000000000000000000000000000000000002a375ba8ca11508bcd",
  "size_on_disk": 6433940923,
  "pruned": false,
  "warnings": ""
}

区块浏览器上对比
区块浏览器地址
docker-compose部署BCH节点-LMLPHP

07-05 18:25