From e439d6c60043536fa6e43a826208620daf94d981 Mon Sep 17 00:00:00 2001 From: bit-aloo Date: Wed, 16 Oct 2024 10:01:19 +0530 Subject: [PATCH 1/3] add ckpool --- conf/ckpool.conf | 24 +++++++++++ docker-compose-config-a.yaml | 58 ++++++++++++++++++--------- docker-compose-config-c.yaml | 77 +++++++++++++++++++++++------------- sv1-ckpool.dockerfile | 21 ++++++++++ 4 files changed, 135 insertions(+), 45 deletions(-) create mode 100644 conf/ckpool.conf create mode 100644 sv1-ckpool.dockerfile diff --git a/conf/ckpool.conf b/conf/ckpool.conf new file mode 100644 index 0000000..8569e37 --- /dev/null +++ b/conf/ckpool.conf @@ -0,0 +1,24 @@ +{ + "btcd": [ + { + "url": "http://10.5.0.21:18332", + "auth": "username", + "pass": "password", + "notify": false + } + ], + "btcsig": "/mined by docker-ckpool/", + "blockpoll": 100, + "nonce1length": 4, + "nonce2length": 8, + "update_interval": 30, + "version_mask": "1fffe000", + "serverurl": [ + "10.5.0.40:3332" + ], + "mindiff": 1, + "startdiff": 42, + "maxdiff": 0, + "zmqblock": "tcp://10.5.0.16:28332", + "logdir": "logs" +} diff --git a/docker-compose-config-a.yaml b/docker-compose-config-a.yaml index a393df6..edd081d 100644 --- a/docker-compose-config-a.yaml +++ b/docker-compose-config-a.yaml @@ -316,30 +316,52 @@ services: sv2-net: ipv4_address: 10.5.0.23 - sv1-pool: - container_name: sv1-pool + # sv1-pool: + # container_name: sv1-pool + # labels: + # logging: "config-a" + # build: + # context: . + # dockerfile: ./sv1-public-pool.dockerfile + # ports: + # - "3332:3332" + # - "3334:3334" + # volumes: + # - "./testnet-DB:/public-pool/DB" + # - "./custom-configs/sv1-pool/.env:/public-pool/.env:ro" + # - "./custom-configs/sv1-pool/rpc.js:/public-pool/node_modules/rpc-bitcoin/build/src/rpc.js" # to fix rpc-version field issue + # restart: unless-stopped + # environment: + # - NODE_ENV=production + # depends_on: + # - sv1-node-pool-proxy + # networks: + # sv2-net: + # ipv4_address: 10.5.0.8 + # cap_add: + # - NET_ADMIN + + sv1-ckpool: + container_name: sv1-ckpool labels: - logging: "config-a" + logging: "config-c" build: context: . - dockerfile: ./sv1-public-pool.dockerfile + dockerfile: ./sv1-ckpool.dockerfile ports: - "3332:3332" - - "3334:3334" volumes: - - "./testnet-DB:/public-pool/DB" - - "./custom-configs/sv1-pool/.env:/public-pool/.env:ro" - - "./custom-configs/sv1-pool/rpc.js:/public-pool/node_modules/rpc-bitcoin/build/src/rpc.js" # to fix rpc-version field issue + - "./conf:/ckpool-solo/src/conf" restart: unless-stopped - environment: - - NODE_ENV=production - depends_on: - - sv1-node-pool-proxy networks: sv2-net: - ipv4_address: 10.5.0.8 - cap_add: - - NET_ADMIN + ipv4_address: 10.5.0.40 + healthcheck: + test: ["CMD-SHELL", "curl --silent --user username:password --data-binary '{\"jsonrpc\":\"1.0\",\"id\":\"healthcheck\",\"method\":\"getblockchaininfo\",\"params\":[]}' -H 'Content-Type: application/json' http://10.5.0.16:18332/ | jq -e '.result.initialblockdownload == false' || exit 1"] + interval: 30s + timeout: 10s + retries: 10 + start_period: 10s sv1-pool-miner-proxy: image: sv1-custom-proxy-builder-image @@ -355,14 +377,14 @@ services: - "3333:3333" - "2345:2345" environment: - - SERVER=10.5.0.8:3332 + - SERVER=10.5.0.40:3332 - CLIENT=0.0.0.0:3333 - PROM_ADDRESS=10.5.0.19:2345 - PROXY_TYPE=pool-miner container_name: sv1-pool-miner-proxy depends_on: - sv1-custom-proxy-builder - - sv1-pool + - sv1-ckpool restart: unless-stopped networks: sv2-net: @@ -380,7 +402,7 @@ services: - "4567:4567" environment: - SERVER=http://10.5.0.16:18332 - - CLIENT=0.0.0.0:48330 + - CLIENT=10.5.0.21:18332 - PROM_ADDRESS=10.5.0.21:4567 - PROXY_TYPE=node-pool container_name: sv1-node-pool-proxy diff --git a/docker-compose-config-c.yaml b/docker-compose-config-c.yaml index cd1c210..99d9286 100644 --- a/docker-compose-config-c.yaml +++ b/docker-compose-config-c.yaml @@ -95,6 +95,7 @@ services: - "38333:18333" - "28332:18332" - "18443:18443" + - "8332:8332" container_name: sv1-node-pool-side depends_on: - common-template-provider-builder @@ -115,6 +116,28 @@ services: timeout: 30s retries: 100 start_period: 1m + + sv1-ckpool: + container_name: sv1-ckpool + labels: + logging: "config-c" + build: + context: . + dockerfile: ./sv1-ckpool.dockerfile + ports: + - "3332:3332" + volumes: + - "./conf:/ckpool-solo/src/conf" + restart: unless-stopped + networks: + sv2-net: + ipv4_address: 10.5.0.40 + healthcheck: + test: ["CMD-SHELL", "curl --silent --user username:password --data-binary '{\"jsonrpc\":\"1.0\",\"id\":\"healthcheck\",\"method\":\"getblockchaininfo\",\"params\":[]}' -H 'Content-Type: application/json' http://10.5.0.16:18332/ | jq -e '.result.initialblockdownload == false' || exit 1"] + interval: 30s + timeout: 10s + retries: 10 + start_period: 10s pool: image: sv2-roles-builder-image @@ -245,30 +268,30 @@ services: sv2-net: ipv4_address: 10.5.0.23 - sv1-pool: - container_name: sv1-pool - labels: - logging: "config-c" - build: - context: . - dockerfile: ./sv1-public-pool.dockerfile - ports: - - "3332:3332" - - "3334:3334" - volumes: - - "./testnet-DB:/public-pool/DB" - - "./custom-configs/sv1-pool/.env:/public-pool/.env:ro" - - "./custom-configs/sv1-pool/rpc.js:/public-pool/node_modules/rpc-bitcoin/build/src/rpc.js" # to fix rpc-version field issue - restart: unless-stopped - environment: - - NODE_ENV=production - depends_on: - - sv1-node-pool-proxy - networks: - sv2-net: - ipv4_address: 10.5.0.8 - cap_add: - - NET_ADMIN + # sv1-pool: + # container_name: sv1-pool + # labels: + # logging: "config-c" + # build: + # context: . + # dockerfile: ./sv1-public-pool.dockerfile + # ports: + # - "3332:3332" + # - "3334:3334" + # volumes: + # - "./testnet-DB:/public-pool/DB" + # - "./custom-configs/sv1-pool/.env:/public-pool/.env:ro" + # - "./custom-configs/sv1-pool/rpc.js:/public-pool/node_modules/rpc-bitcoin/build/src/rpc.js" # to fix rpc-version field issue + # restart: unless-stopped + # environment: + # - NODE_ENV=production + # depends_on: + # - sv1-node-pool-proxy + # networks: + # sv2-net: + # ipv4_address: 10.5.0.8 + # cap_add: + # - NET_ADMIN sv1-pool-miner-proxy: image: sv1-custom-proxy-builder-image @@ -284,14 +307,14 @@ services: - "3333:3333" - "2345:2345" environment: - - SERVER=10.5.0.8:3332 + - SERVER=10.5.0.40:3332 - CLIENT=0.0.0.0:3333 - PROM_ADDRESS=10.5.0.19:2345 - PROXY_TYPE=pool-miner container_name: sv1-pool-miner-proxy depends_on: - sv1-custom-proxy-builder - - sv1-pool + - sv1-ckpool restart: unless-stopped networks: sv2-net: @@ -309,7 +332,7 @@ services: - "4567:4567" environment: - SERVER=http://10.5.0.16:18332 - - CLIENT=0.0.0.0:48330 + - CLIENT=10.5.0.21:18332 - PROM_ADDRESS=10.5.0.21:4567 - PROXY_TYPE=node-pool container_name: sv1-node-pool-proxy diff --git a/sv1-ckpool.dockerfile b/sv1-ckpool.dockerfile new file mode 100644 index 0000000..8614325 --- /dev/null +++ b/sv1-ckpool.dockerfile @@ -0,0 +1,21 @@ +FROM ubuntu:latest + + +ARG REPO=ckpool-solo +ARG BRANCH=solobtc +ARG REPO_URL=https://bitbucket.org/ckolivas/${REPO}.git + + +RUN apt-get update && apt-get install -y autoconf automake libtool build-essential git yasm libzmq3-dev libcap2-bin pkgconf + +RUN git clone ${REPO_URL} + +WORKDIR /ckpool-solo + +COPY conf/ckpool.conf . + +RUN ./autogen.sh && ./configure && make + +WORKDIR ./src + +CMD ["./ckpool","-B","-k", "-c", "./conf/ckpool.conf"] From 6d6854b537894bfd7d6998f98d77001a991b027c Mon Sep 17 00:00:00 2001 From: bit-aloo Date: Thu, 17 Oct 2024 14:23:30 +0530 Subject: [PATCH 2/3] add ckproxy --- conf/ckpool.conf | 2 +- conf/ckproxy.conf | 17 +++++ docker-compose-config-a.yaml | 76 +++++++++++++--------- docker-compose-config-c.yaml | 121 ++++++++++++++++++++--------------- sv1-ckproxy.dockerfile | 21 ++++++ 5 files changed, 156 insertions(+), 81 deletions(-) create mode 100644 conf/ckproxy.conf create mode 100644 sv1-ckproxy.dockerfile diff --git a/conf/ckpool.conf b/conf/ckpool.conf index 8569e37..b735908 100644 --- a/conf/ckpool.conf +++ b/conf/ckpool.conf @@ -17,7 +17,7 @@ "10.5.0.40:3332" ], "mindiff": 1, - "startdiff": 42, + "startdiff": 1, "maxdiff": 0, "zmqblock": "tcp://10.5.0.16:28332", "logdir": "logs" diff --git a/conf/ckproxy.conf b/conf/ckproxy.conf new file mode 100644 index 0000000..5775ab0 --- /dev/null +++ b/conf/ckproxy.conf @@ -0,0 +1,17 @@ +{ +"proxy" : [ + { + "url" : "10.5.0.19:3333", + "auth" : "tb1qa0sm0hxzj0x25rh8gw5xlzwlsfvvyz8u96w3p8.sv2-gitgab19", + "pass" : "" + } +], +"update_interval" : 30, +"serverurl" : ["0.0.0.0:3333"], +"mindiff" : 1, +"startdiff" : 1, +"maxdiff" : 0, +"logdir" : "logs" +} + +# ./minerd -a sha256d -o stratum+tcp://127.0.0.1:3333 -q -D -P -u tb1qa0sm0hxzj0x25rh8gw5xlzwlsfvvyz8u96w3p8.sv2-gitgab19 \ No newline at end of file diff --git a/docker-compose-config-a.yaml b/docker-compose-config-a.yaml index edd081d..c076130 100644 --- a/docker-compose-config-a.yaml +++ b/docker-compose-config-a.yaml @@ -316,30 +316,30 @@ services: sv2-net: ipv4_address: 10.5.0.23 - # sv1-pool: - # container_name: sv1-pool - # labels: - # logging: "config-a" - # build: - # context: . - # dockerfile: ./sv1-public-pool.dockerfile - # ports: - # - "3332:3332" - # - "3334:3334" - # volumes: - # - "./testnet-DB:/public-pool/DB" - # - "./custom-configs/sv1-pool/.env:/public-pool/.env:ro" - # - "./custom-configs/sv1-pool/rpc.js:/public-pool/node_modules/rpc-bitcoin/build/src/rpc.js" # to fix rpc-version field issue - # restart: unless-stopped - # environment: - # - NODE_ENV=production - # depends_on: - # - sv1-node-pool-proxy - # networks: - # sv2-net: - # ipv4_address: 10.5.0.8 - # cap_add: - # - NET_ADMIN + sv1-pool: + container_name: sv1-pool + labels: + logging: "config-a" + build: + context: . + dockerfile: ./sv1-public-pool.dockerfile + ports: + - "3332:3332" + - "3334:3334" + volumes: + - "./testnet-DB:/public-pool/DB" + - "./custom-configs/sv1-pool/.env:/public-pool/.env:ro" + - "./custom-configs/sv1-pool/rpc.js:/public-pool/node_modules/rpc-bitcoin/build/src/rpc.js" # to fix rpc-version field issue + restart: unless-stopped + environment: + - NODE_ENV=production + depends_on: + - sv1-node-pool-proxy + networks: + sv2-net: + ipv4_address: 10.5.0.8 + cap_add: + - NET_ADMIN sv1-ckpool: container_name: sv1-ckpool @@ -348,8 +348,8 @@ services: build: context: . dockerfile: ./sv1-ckpool.dockerfile - ports: - - "3332:3332" + # ports: + # - "3332:3332" volumes: - "./conf:/ckpool-solo/src/conf" restart: unless-stopped @@ -362,6 +362,24 @@ services: timeout: 10s retries: 10 start_period: 10s + + sv1-ckproxy: + container_name: sv1-ckproxy + labels: + logging: "config-c" + build: + context: . + dockerfile: ./sv1-ckproxy.dockerfile + ports: + - "3333:3333" + volumes: + - "./conf:/ckpool-solo/src/conf" + restart: unless-stopped + depends_on: + - sv1-pool + networks: + sv2-net: + ipv4_address: 10.5.0.41 sv1-pool-miner-proxy: image: sv1-custom-proxy-builder-image @@ -374,11 +392,11 @@ services: "/usr/local/bin/monitor_and_apply_latency.sh 10.5.0.8 2 & exec ./target/release/sv1-custom-proxy", ] ports: - - "3333:3333" + # - "3333:3333" - "2345:2345" environment: - SERVER=10.5.0.40:3332 - - CLIENT=0.0.0.0:3333 + - CLIENT=10.5.0.19:3333 - PROM_ADDRESS=10.5.0.19:2345 - PROXY_TYPE=pool-miner container_name: sv1-pool-miner-proxy @@ -402,7 +420,7 @@ services: - "4567:4567" environment: - SERVER=http://10.5.0.16:18332 - - CLIENT=10.5.0.21:18332 + - CLIENT=0.0.0.0:48330 - PROM_ADDRESS=10.5.0.21:4567 - PROXY_TYPE=node-pool container_name: sv1-node-pool-proxy diff --git a/docker-compose-config-c.yaml b/docker-compose-config-c.yaml index 99d9286..0df190a 100644 --- a/docker-compose-config-c.yaml +++ b/docker-compose-config-c.yaml @@ -116,28 +116,6 @@ services: timeout: 30s retries: 100 start_period: 1m - - sv1-ckpool: - container_name: sv1-ckpool - labels: - logging: "config-c" - build: - context: . - dockerfile: ./sv1-ckpool.dockerfile - ports: - - "3332:3332" - volumes: - - "./conf:/ckpool-solo/src/conf" - restart: unless-stopped - networks: - sv2-net: - ipv4_address: 10.5.0.40 - healthcheck: - test: ["CMD-SHELL", "curl --silent --user username:password --data-binary '{\"jsonrpc\":\"1.0\",\"id\":\"healthcheck\",\"method\":\"getblockchaininfo\",\"params\":[]}' -H 'Content-Type: application/json' http://10.5.0.16:18332/ | jq -e '.result.initialblockdownload == false' || exit 1"] - interval: 30s - timeout: 10s - retries: 10 - start_period: 10s pool: image: sv2-roles-builder-image @@ -268,30 +246,30 @@ services: sv2-net: ipv4_address: 10.5.0.23 - # sv1-pool: - # container_name: sv1-pool - # labels: - # logging: "config-c" - # build: - # context: . - # dockerfile: ./sv1-public-pool.dockerfile - # ports: - # - "3332:3332" - # - "3334:3334" - # volumes: - # - "./testnet-DB:/public-pool/DB" - # - "./custom-configs/sv1-pool/.env:/public-pool/.env:ro" - # - "./custom-configs/sv1-pool/rpc.js:/public-pool/node_modules/rpc-bitcoin/build/src/rpc.js" # to fix rpc-version field issue - # restart: unless-stopped - # environment: - # - NODE_ENV=production - # depends_on: - # - sv1-node-pool-proxy - # networks: - # sv2-net: - # ipv4_address: 10.5.0.8 - # cap_add: - # - NET_ADMIN + sv1-pool: + container_name: sv1-pool + labels: + logging: "config-c" + build: + context: . + dockerfile: ./sv1-public-pool.dockerfile + ports: + - "3332:3332" + - "3334:3334" + volumes: + - "./testnet-DB:/public-pool/DB" + - "./custom-configs/sv1-pool/.env:/public-pool/.env:ro" + - "./custom-configs/sv1-pool/rpc.js:/public-pool/node_modules/rpc-bitcoin/build/src/rpc.js" # to fix rpc-version field issue + restart: unless-stopped + environment: + - NODE_ENV=production + depends_on: + - sv1-node-pool-proxy + networks: + sv2-net: + ipv4_address: 10.5.0.8 + cap_add: + - NET_ADMIN sv1-pool-miner-proxy: image: sv1-custom-proxy-builder-image @@ -304,17 +282,17 @@ services: "/usr/local/bin/monitor_and_apply_latency.sh 10.5.0.8 2 & exec ./target/release/sv1-custom-proxy", ] ports: - - "3333:3333" + # - "3333:3333" - "2345:2345" environment: - - SERVER=10.5.0.40:3332 - - CLIENT=0.0.0.0:3333 + - SERVER=10.5.0.8:3332 + - CLIENT=10.5.0.19:3333 - PROM_ADDRESS=10.5.0.19:2345 - PROXY_TYPE=pool-miner container_name: sv1-pool-miner-proxy depends_on: - sv1-custom-proxy-builder - - sv1-ckpool + - sv1-pool restart: unless-stopped networks: sv2-net: @@ -332,7 +310,7 @@ services: - "4567:4567" environment: - SERVER=http://10.5.0.16:18332 - - CLIENT=10.5.0.21:18332 + - CLIENT=0.0.0.0:48330 - PROM_ADDRESS=10.5.0.21:4567 - PROXY_TYPE=node-pool container_name: sv1-node-pool-proxy @@ -346,6 +324,47 @@ services: networks: sv2-net: ipv4_address: 10.5.0.21 + + sv1-ckpool: + container_name: sv1-ckpool + labels: + logging: "config-c" + build: + context: . + dockerfile: ./sv1-ckpool.dockerfile + # ports: + # - "3333:3333" + volumes: + - "./conf:/ckpool-solo/src/conf" + restart: unless-stopped + networks: + sv2-net: + ipv4_address: 10.5.0.40 + healthcheck: + test: ["CMD-SHELL", "curl --silent --user username:password --data-binary '{\"jsonrpc\":\"1.0\",\"id\":\"healthcheck\",\"method\":\"getblockchaininfo\",\"params\":[]}' -H 'Content-Type: application/json' http://10.5.0.16:18332/ | jq -e '.result.initialblockdownload == false' || exit 1"] + interval: 30s + timeout: 10s + retries: 10 + start_period: 10s + + + sv1-ckproxy: + container_name: sv1-ckproxy + labels: + logging: "config-c" + build: + context: . + dockerfile: ./sv1-ckproxy.dockerfile + ports: + - "3333:3333" + volumes: + - "./conf:/ckpool-solo/src/conf" + restart: unless-stopped + depends_on: + - sv1-pool + networks: + sv2-net: + ipv4_address: 10.5.0.41 monitor-traffic-tcpdump: image: inzania/network-traffic-metrics:latest diff --git a/sv1-ckproxy.dockerfile b/sv1-ckproxy.dockerfile new file mode 100644 index 0000000..5132bd6 --- /dev/null +++ b/sv1-ckproxy.dockerfile @@ -0,0 +1,21 @@ +FROM ubuntu:latest + + +ARG REPO=ckpool-solo +ARG BRANCH=solobtc +ARG REPO_URL=https://bitbucket.org/ckolivas/${REPO}.git + + +RUN apt-get update && apt-get install -y autoconf automake libtool build-essential git yasm libzmq3-dev libcap2-bin pkgconf + +RUN git clone ${REPO_URL} + +WORKDIR /ckpool-solo + +COPY conf/ckproxy.conf ./src + +RUN ./autogen.sh && ./configure && make + +WORKDIR ./src + +CMD ["./ckpool","-p","-k", "-c", "./ckproxy.conf"] From 8db55e422823e872f8def1a3f5eb4899ddb2409e Mon Sep 17 00:00:00 2001 From: bit-aloo Date: Sat, 19 Oct 2024 21:48:58 +0530 Subject: [PATCH 3/3] change max diff to 1 --- conf/ckpool.conf | 2 +- conf/ckproxy.conf | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/conf/ckpool.conf b/conf/ckpool.conf index b735908..f5b8ff1 100644 --- a/conf/ckpool.conf +++ b/conf/ckpool.conf @@ -18,7 +18,7 @@ ], "mindiff": 1, "startdiff": 1, - "maxdiff": 0, + "maxdiff": 1, "zmqblock": "tcp://10.5.0.16:28332", "logdir": "logs" } diff --git a/conf/ckproxy.conf b/conf/ckproxy.conf index 5775ab0..ebea959 100644 --- a/conf/ckproxy.conf +++ b/conf/ckproxy.conf @@ -10,7 +10,7 @@ "serverurl" : ["0.0.0.0:3333"], "mindiff" : 1, "startdiff" : 1, -"maxdiff" : 0, +"maxdiff" : 1, "logdir" : "logs" }