2 Commits

Author SHA1 Message Date
czarly
0046553005 fix 2022-10-19 14:58:27 +04:00
czarly
e7efbbb746 make upstreams variable 2022-10-19 14:20:23 +04:00
16 changed files with 127 additions and 455 deletions

View File

@@ -1,20 +1,8 @@
### Docs ### Docs
.envs:
xdai:
```
XDAI_RPC_URL=http://xdai-archive:8545
PUBLIC_IP=
TARGET_PEERS=80
```
TODO: TODO:
```
auto-generate .jwtsecret for beacon-execution connection auto-generate .jwtsecret for beacon-execution connection
Fix wireguard chains network for pocket-frontends Fix wireguard chains network for pocket-frontends
```
[Pocket Validator](README_POKT.md) </br> [Pocket Validator](README_POKT.md) </br>

View File

@@ -7,7 +7,6 @@ services:
restart: unless-stopped restart: unless-stopped
volumes: volumes:
- ./dshackle/config:/etc/dshackle # This should hold all your yaml files - ./dshackle/config:/etc/dshackle # This should hold all your yaml files
- ./dshackle/logs:/logs
expose: expose:
- 8080 # /eth - 8080 # /eth
- 8081 # /metrics - 8081 # /metrics
@@ -17,7 +16,6 @@ services:
- chains - chains
ports: ports:
- "127.0.0.1:8082:8082" # healthcheck - "127.0.0.1:8082:8082" # healthcheck
- "127.0.0.1:8545:8080"
environment: environment:
- ALCHEMY_KEY=${ALCHEMY_KEY} - ALCHEMY_KEY=${ALCHEMY_KEY}
- ANYBLOCK_KEY=${ANYBLOCK_KEY} - ANYBLOCK_KEY=${ANYBLOCK_KEY}
@@ -36,13 +34,13 @@ services:
- "prometheus-scrape.job_name=dshackle" - "prometheus-scrape.job_name=dshackle"
- "prometheus-scrape.metrics_path=/metrics" - "prometheus-scrape.metrics_path=/metrics"
- "traefik.enable=true" - "traefik.enable=true"
- "traefik.http.middlewares.dshackle-stripprefix.stripprefix.prefixes=/eth-archive" - "traefik.http.middlewares.dshackle-stripprefix.stripprefix.prefixes=/dshackle"
- "traefik.http.middlewares.shackle-replacepath.replacepath.path=/eth" # - "traefik.http.middlewares.shackle-replacepath.replacepath.path=/eth"
- "traefik.http.services.dshackle.loadbalancer.server.port=8080" - "traefik.http.services.dshackle.loadbalancer.server.port=8080"
- "traefik.http.routers.dshackle.entrypoints=websecure" - "traefik.http.routers.dshackle.entrypoints=websecure"
- "traefik.http.routers.dshackle.tls.certresolver=myresolver" - "traefik.http.routers.dshackle.tls.certresolver=myresolver"
- "traefik.http.routers.dshackle.rule=Host(`$DOMAIN`) && PathPrefix(`/eth-archive`)" - "traefik.http.routers.dshackle.rule=Host(`$DOMAIN`) && PathPrefix(`/dshackle`)"
- "traefik.http.routers.dshackle.middlewares=dshackle-stripprefix, dshackle-replacepath, ipwhitelist" # - "traefik.http.routers.dshackle.middlewares=dshackle-stripprefix, dshackle-replacepath, ipwhitelist"
- "traefik.http.routers.dshackle.middlewares=dshackle-stripprefix, ipwhitelist" - "traefik.http.routers.dshackle.middlewares=dshackle-stripprefix, ipwhitelist"
redis: redis:

View File

@@ -1,27 +0,0 @@
upstreams:
- id: de-1-erigon
chain: ethereum
labels:
provider: stakesquid-de-1-erigon
priority: 100
methods:
enabled:
# Manually Enabled
- name: trace_block
- name: trace_call
- name: trace_callMany
- name: trace_filter
- name: trace_get
- name: trace_transaction
disabled:
- name: eth_chainId
- name: eth_chainID
- name: eth_chainid
connection:
ethereum:
rpc:
url: "https://rpc-de-1.stakesquid.eu/erigon"
ws:
frameSize: 20Mb
msgSize: 50Mb
url: "wss://rpc-de-1.stakesquid.eu/erigon"

View File

@@ -1,44 +0,0 @@
upstreams:
- id: de-4-mainnet
chain: ethereum
labels:
provider: stakesquid-de-4-mainnet
priority: 120
methods:
enabled:
# Manually Enabled
- name: eth_chainid
- name: eth_chainId
- name: eth_chainID
disabled:
- name: eth_blockNumber
- name: eth_call
- name: eth_estimateGas
- name: eth_feeHistory
- name: eth_gasPrice
- name: eth_getBalance
- name: eth_getBlockByHash
- name: eth_getBlockByNumber
- name: eth_getBlockTransactionCountByHash
- name: eth_getBlockTransactionCountByNumber
- name: eth_getCode
- name: eth_getLogs
- name: eth_getStorageAt
- name: eth_getTransactionByBlockHashAndIndex
- name: eth_getTransactionByBlockNumberAndIndex
- name: eth_getTransactionByHash
- name: eth_getTransactionCount
- name: eth_getTransactionReceipt
- name: eth_getUncleByBlockHashAndIndex
- name: eth_getUncleByBlockNumberAndIndex
- name: eth_getUncleCountByBlockHash
- name: eth_getUncleCountByBlockNumber
- name: eth_sendRawTransaction
connection:
ethereum:
rpc:
url: "https://rpc-de-4.stakesquid.eu/mainnet"
ws:
frameSize: 20Mb
msgSize: 50Mb
url: "wss://rpc-de-4.stakesquid.eu/mainnet"

View File

@@ -37,11 +37,6 @@ proxy:
- id: eth - id: eth
blockchain: ethereum blockchain: ethereum
accessLog:
enabled: true
include-messages: true
filename: /logs/access_log.jsonl
cluster: cluster:
defaults: defaults:
- chains: - chains:
@@ -54,19 +49,16 @@ cluster:
#- "geth.yaml" #- "geth.yaml"
#- "nethermind.yaml" #- "nethermind.yaml"
#- "erigon.yaml" #- "erigon.yaml"
- "de-1-erigon.yaml"
- "fi-1-erigon.yaml"
#- "de-4-mainnet.yaml"
# Freemium Nodes # Freemium Nodes
#- "alchemy.yaml" - "alchemy.yaml"
#- "anyblock.yaml" - "anyblock.yaml"
#- "chainstack.yaml" - "chainstack.yaml"
#- "coinbase.yaml" - "coinbase.yaml"
- "infura.yaml" - "infura.yaml"
#- "quicknode.yaml" - "quicknode.yaml"
#- "rivet.yaml" - "rivet.yaml"
# Public Nodes # Public Nodes
#- "cloudflare.yaml" - "cloudflare.yaml"
#- "avado.yaml" - "avado.yaml"
#- "ankr.yaml" - "ankr.yaml"

View File

@@ -1,27 +0,0 @@
upstreams:
- id: fi-1-erigon
chain: ethereum
labels:
provider: stakesquid-fi-1-erigon
priority: 100
methods:
enabled:
# Manually Enabled
- name: trace_block
- name: trace_call
- name: trace_callMany
- name: trace_filter
- name: trace_get
- name: trace_transaction
disabled:
- name: eth_chainId
- name: eth_chainID
- name: eth_chainid
connection:
ethereum:
rpc:
url: "https://rpc-fi-1.stakesquid.eu/erigon"
ws:
frameSize: 20Mb
msgSize: 50Mb
url: "wss://rpc-fi-1.stakesquid.eu/erigon"

View File

@@ -1,98 +0,0 @@
version: '3.1'
services:
erigon-trace:
image: thorax/erigon:v2022.10.01
expose:
- "30303"
- "30304"
- "9090"
volumes:
- erigon-trace:/home/erigon/.local/share/erigon
- .jwtsecret:/jwtsecret
networks:
- chains
command: >
erigon --chain goerli
--metrics --metrics.addr=0.0.0.0 --metrics.port=6060
--private.api.addr=0.0.0.0:9090
--pprof
--pprof.addr=0.0.0.0
--pprof.port=6061
--authrpc.addr=0.0.0.0
--authrpc.vhosts=*
--authrpc.jwtsecret=/jwtsecret
--snapshots=true
--torrent.download.rate=1250mb
--torrent.upload.rate=1250mb
restart: unless-stopped
stop_grace_period: 1m
labels:
- "prometheus-scrape.enabled=true"
- "prometheus-scrape.port=6060"
- "prometheus-scrape.job_name=erigon"
- "prometheus-scrape.metrics_path=/debug/metrics/prometheus"
rpcdaemon:
image: thorax/erigon:v2022.10.01
command: >
rpcdaemon --datadir=/home/erigon/.local/share/erigon/goerli
--private.api.addr=erigon-trace:9090
--txpool.api.addr=erigon-trace:9090
--http.addr=0.0.0.0
--http.vhosts=*
--http.corsdomain=*
--http.api=eth,erigon,web3,net,debug,trace,txpool
--ws
pid: service:erigon-trace # Use erigon's PID namespace. It's required to open Erigon's DB from another process (RPCDaemon local-mode)
volumes:
- erigon-trace:/home/erigon/.local/share/erigon
networks:
- chains
expose:
- "8545"
restart: unless-stopped
depends_on:
- "erigon-trace"
labels:
- "traefik.enable=true"
- "traefik.http.middlewares.rpcdaemon-stripprefix.stripprefix.prefixes=/erigon-goerli"
- "traefik.http.services.rpcdaemon.loadbalancer.server.port=8545"
- "traefik.http.routers.rpcdaemon.entrypoints=websecure"
- "traefik.http.routers.rpcdaemon.tls.certresolver=myresolver"
- "traefik.http.routers.rpcdaemon.rule=Host(`$DOMAIN`) && PathPrefix(`/erigon-goerli`)"
- "traefik.http.routers.rpcdaemon.middlewares=rpcdaemon-stripprefix, ipwhitelist"
lighthouse:
image: sigp/lighthouse:latest-modern
ports:
- "9000:9000"
- "127.0.0.1:5052:5052"
volumes:
- .jwtsecret:/jwtsecret
- lighthouse_data:/root/.lighthouse
command: >
lighthouse beacon_node
--network prater
--reconstruct-historic-states
--execution-endpoint http://erigon-trace:8551
--execution-jwt /jwtsecret
--http
--http-address=0.0.0.0
restart: unless-stopped
stop_grace_period: 1m
networks:
- chains
labels:
- "traefik.enable=true"
- "traefik.http.middlewares.lighthouse-stripprefix.stripprefix.prefixes=/lighthouse"
- "traefik.http.services.lighthouse.loadbalancer.server.port=5052"
- "traefik.http.routers.lighthouse.entrypoints=websecure"
- "traefik.http.routers.lighthouse.tls.certresolver=myresolver"
- "traefik.http.routers.lighthouse.rule=Host(`$DOMAIN`) && PathPrefix(`/lighthouse`)"
- "traefik.http.routers.lighthouse.middlewares=lighthouse-stripprefix, ipwhitelist"
volumes:
erigon-trace:
lighthouse_data:

View File

@@ -1,34 +0,0 @@
version: '3.1'
services:
erigon-polygon:
build:
args:
ERIGON_VERSION: v0.0.3
context: ./polygon/erigon
dockerfile: Dockerfile
environment:
- SNAPSHOT_URL=https://matic-blockchain-snapshots.s3-accelerate.amazonaws.com/matic-mainnet/erigon-archive-snapshot-2022-10-12.tar.gz
- BOOTSTRAP=1
volumes:
- "polygon-archive_data:/datadir"
ports:
- "40303:40303"
- "40303:40303/udp"
depends_on:
- heimdallr
restart: unless-stopped
stop_grace_period: 1m
labels:
- "traefik.enable=true"
- "traefik.http.middlewares.erigon-polygon-stripprefix.stripprefix.prefixes=/polygon-archive"
- "traefik.http.services.erigon-polygon.loadbalancer.server.port=8545"
- "traefik.http.routers.erigon-polygon.entrypoints=websecure"
- "traefik.http.routers.erigon-polygon.tls.certresolver=myresolver"
- "traefik.http.routers.erigon-polygon.rule=Host(`$DOMAIN`) && PathPrefix(`/polygon-archive`)"
- "traefik.http.routers.erigon-polygon.middlewares=erigon-polygon-stripprefix, ipwhitelist"
networks:
- chains
volumes:
polygon-archive_data:

View File

@@ -16,8 +16,6 @@ services:
erigon --chain mainnet erigon --chain mainnet
--metrics --metrics.addr=0.0.0.0 --metrics.port=6060 --metrics --metrics.addr=0.0.0.0 --metrics.port=6060
--private.api.addr=0.0.0.0:9090 --private.api.addr=0.0.0.0:9090
--torrent.upload.rate="1250mb"
--torrent.download.rate="1250mb"
--pprof --pprof
--pprof.addr=0.0.0.0 --pprof.addr=0.0.0.0
--pprof.port=6061 --pprof.port=6061

25
eth_proxy.yml Normal file
View File

@@ -0,0 +1,25 @@
version: '3.1'
services:
eth_proxy:
image: stakesquid/eth-proxy:latest
expose:
- "8080"
- "12449"
ports:
- "127.0.0.1:12449:12449"
environment:
- DSHACKLE_GRPC=http://dshackle:2449
- UPSTREAM_RPCS=${ETH_PROXY_UPSTREAM_RPCS}
networks:
- chains
restart: always
labels:
- "traefik.enable=true"
- "traefik.http.middlewares.eth_proxy-stripprefix.stripprefix.prefixes=/eth-proxy"
- "traefik.http.services.eth_proxy.loadbalancer.server.port=8080"
- "traefik.http.routers.eth_proxy.entrypoints=websecure"
- "traefik.http.routers.eth_proxy.tls.certresolver=myresolver"
- "traefik.http.routers.eth_proxy.rule=Host(`$DOMAIN`) && PathPrefix(`/eth-proxy`)"
- "traefik.http.routers.eth_proxy.middlewares=eth_proxy-stripprefix, ipwhitelist"

86
pocket-de.yml Normal file
View File

@@ -0,0 +1,86 @@
version: '3.1'
services:
traefik:
image: traefik:latest
container_name: traefik
restart: always
ports:
- "443:443"
- "127.0.0.1:8080:8080"
expose:
- "8082"
command:
- "--api=true"
- "--api.insecure=true"
- "--api.dashboard=true"
- "--log.level=DEBUG"
- "--providers.docker=true"
- "--providers.docker.exposedbydefault=false"
- "--entrypoints.websecure.address=:443"
- "--entryPoints.metrics.address=:8082"
- "--metrics.prometheus.entryPoint=metrics"
- "--certificatesresolvers.myresolver.acme.tlschallenge=true"
# TESTING
# - "--certificatesresolvers.myresolver.acme.caserver=https://acme-staging-v02.api.letsencrypt.org/directory"
- "--certificatesresolvers.myresolver.acme.email=$MAIL"
- "--certificatesresolvers.myresolver.acme.storage=/letsencrypt/acme.json"
volumes:
- "./traefik/letsencrypt:/letsencrypt"
- "/var/run/docker.sock:/var/run/docker.sock:ro"
labels:
- "traefik.enable=true"
### POKT
pocket-de-1:
build: pokt
ports:
- "127.0.0.1:8081:8081"
- "26656:26656"
expose:
- 26656
- 26660
- 8081
- 8083
#command: pocket start --simulateRelay
environment:
- POCKET_CORE_KEY=$POKT_DE_1_POCKET_CORE_KEY
- POCKET_CORE_PASSPHRASE=$POKT_DE_1_POCKET_CORE_PASSPHRASE
- POCKET_SNAPSHOT=$POCKET_SNAPSHOT
volumes:
- pocket-de-1:/home/app/.pocket/data
- pocket-de-1-addrbook:/home/app/.pocket/addrbook
restart: unless-stopped
labels:
- "traefik.enable=true"
- "traefik.http.services.pocket-fr-1.loadbalancer.server.port=8081"
- "traefik.http.routers.pocket-fr-1.entrypoints=websecure"
- "traefik.http.routers.pocket-fr-1.tls.certresolver=myresolver"
- "traefik.http.routers.pocket-fr-1.rule=Host(`$POKT_DE_1_DOMAIN`) && Path(`/v1`, `/v1/client/{dispatch|relay|challenge|sim}`)"
- "prometheus-scrape.enabled=true"
- "prometheus-scrape.port=8083"
- "prometheus-scrape.job_name=pocket-de-1"
haproxy:
build: haproxy
volumes:
- ./haproxy:/usr/local/etc/haproxy
expose:
- "8404"
- "80"
ports:
- "127.0.0.1:80:80"
restart: always
labels:
- "prometheus-scrape.enabled=true"
- "prometheus-scrape.port=8404"
- "prometheus-scrape.job_name=haproxy"
- "prometheus-scrape.metrics_path=/metrics"
### VOLUMES
volumes:
pocket-de-1:
pocket-de-1-addrbook:

View File

@@ -92,34 +92,6 @@ services:
- "prometheus-scrape.port=8083" - "prometheus-scrape.port=8083"
- "prometheus-scrape.job_name=pocket-lt-2" - "prometheus-scrape.job_name=pocket-lt-2"
# pocket-lt-3:
# build: pokt
# ports:
# - "127.0.0.1:8082:8081"
# - "26657:26656"
# expose:
# - 26656
# - 26660
# - 8081
# - 8083
# #command: pocket start --simulateRelay
# environment:
# - POCKET_CORE_KEY=$POKT_LT_3_POCKET_CORE_KEY
# - POCKET_CORE_PASSPHRASE=$POKT_LT_3_POCKET_CORE_PASSPHRASE
# - POCKET_SNAPSHOT=$POCKET_SNAPSHOT
# volumes:
# - pocket-lt-3:/home/app/.pocket/data
# - pocket-lt-3-addrbook:/home/app/.pocket/addrbook
# restart: unless-stopped
# labels:
# - "traefik.enable=true"
# - "traefik.http.services.pocket-lt-3.loadbalancer.server.port=8081"
# - "traefik.http.routers.pocket-lt-3.entrypoints=websecure"
# - "traefik.http.routers.pocket-lt-3.tls.certresolver=myresolver"
# - "traefik.http.routers.pocket-lt-3.rule=Host(`$POKT_LT_3_DOMAIN`) && Path(`/v1`, `/v1/client/{dispatch|relay|challenge|sim}`)"
# - "prometheus-scrape.enabled=true"
# - "prometheus-scrape.port=8083"
# - "prometheus-scrape.job_name=pocket-lt-3"
haproxy: haproxy:
build: haproxy build: haproxy
@@ -143,5 +115,3 @@ volumes:
pocket-lt-1-addrbook: pocket-lt-1-addrbook:
pocket-lt-2: pocket-lt-2:
pocket-lt-2-addrbook: pocket-lt-2-addrbook:
# pocket-lt-3:
# pocket-lt-3-addrbook:

View File

@@ -1,4 +1,4 @@
FROM poktnetwork/pocket-core:RC-0.9.1.3 FROM poktnetwork/pocket-core:RC-0.9.1.1
COPY --chown=1005:1001 config.json /home/app/.pocket/config/config.json COPY --chown=1005:1001 config.json /home/app/.pocket/config/config.json
COPY --chown=1005:1001 chains.json /home/app/.pocket/config/chains.json COPY --chown=1005:1001 chains.json /home/app/.pocket/config/chains.json
@@ -8,6 +8,6 @@ RUN mkdir /home/app/.pocket/data
RUN chown -R 1005:1001 /home/app/.pocket/data RUN chown -R 1005:1001 /home/app/.pocket/data
ENV POCKET_MAIN_SEEDS=03b74fa3c68356bb40d58ecc10129479b159a145@seed1.mainnet.pokt.network:20656,64c91701ea98440bc3674fdb9a99311461cdfd6f@seed2.mainnet.pokt.network:21656,0057ee693f3ce332c4ffcb499ede024c586ae37b@seed3.mainnet.pokt.network:22856,9fd99b89947c6af57cd0269ad01ecb99960177cd@seed4.mainnet.pokt.network:23856,f2a4d0ec9d50ea61db18452d191687c899c3ca42@seed5.mainnet.pokt.network:24856,f2a9705924e8d0e11fed60484da2c3d22f7daba8@seed6.mainnet.pokt.network:25856,582177fd65dd03806eeaa2e21c9049e653672c7e@seed7.mainnet.pokt.network:26856,2ea0b13ab823986cfb44292add51ce8677b899ad@seed8.mainnet.pokt.network:27856,a5f4a4cd88db9fd5def1574a0bffef3c6f354a76@seed9.mainnet.pokt.network:28856,d4039bd71d48def9f9f61f670c098b8956e52a08@seed10.mainnet.pokt.network:29856,5c133f07ed296bb9e21e3e42d5f26e0f7d2b2832@poktseed100.chainflow.io:26656,361b1936d3fbe516628ebd6a503920fc4fc0f6a7@seed.pokt.rivet.cloud:26656 ENV POCKET_MAIN_SEEDS=361b1936d3fbe516628ebd6a503920fc4fc0f6a7@seed.pokt.rivet.cloud:26656,03b74fa3c68356bb40d58ecc10129479b159a145@seed1.mainnet.pokt.network:20656,64c91701ea98440bc3674fdb9a99311461cdfd6f@seed2.mainnet.pokt.network:21656,0057ee693f3ce332c4ffcb499ede024c586ae37b@seed3.mainnet.pokt.network:22856,9fd99b89947c6af57cd0269ad01ecb99960177cd@seed4.mainnet.pokt.network:23856,1243026603e9073507a3157bc4de99da74a078fc@seed5.mainnet.pokt.network:24856,6282b55feaff460bb35820363f1eb26237cf5ac3@seed6.mainnet.pokt.network:25856,3640ee055889befbc912dd7d3ed27d6791139395@seed7.mainnet.pokt.network:26856,1951cded4489bf51af56f3dbdd6df55c1a952b1a@seed8.mainnet.pokt.network:27856,a5f4a4cd88db9fd5def1574a0bffef3c6f354a76@seed9.mainnet.pokt.network:28856,d4039bd71d48def9f9f61f670c098b8956e52a08@seed10.mainnet.pokt.network:29856,5c133f07ed296bb9e21e3e42d5f26e0f7d2b2832@poktseed100.chainflow.io:26656
CMD ["bash", "/home/app/.pocket/bootstrap.sh", "&&", "pocket", "start", "--seeds", "03b74fa3c68356bb40d58ecc10129479b159a145@seed1.mainnet.pokt.network:20656,64c91701ea98440bc3674fdb9a99311461cdfd6f@seed2.mainnet.pokt.network:21656,0057ee693f3ce332c4ffcb499ede024c586ae37b@seed3.mainnet.pokt.network:22856,9fd99b89947c6af57cd0269ad01ecb99960177cd@seed4.mainnet.pokt.network:23856,f2a4d0ec9d50ea61db18452d191687c899c3ca42@seed5.mainnet.pokt.network:24856,f2a9705924e8d0e11fed60484da2c3d22f7daba8@seed6.mainnet.pokt.network:25856,582177fd65dd03806eeaa2e21c9049e653672c7e@seed7.mainnet.pokt.network:26856,2ea0b13ab823986cfb44292add51ce8677b899ad@seed8.mainnet.pokt.network:27856,a5f4a4cd88db9fd5def1574a0bffef3c6f354a76@seed9.mainnet.pokt.network:28856,d4039bd71d48def9f9f61f670c098b8956e52a08@seed10.mainnet.pokt.network:29856,5c133f07ed296bb9e21e3e42d5f26e0f7d2b2832@poktseed100.chainflow.io:26656,361b1936d3fbe516628ebd6a503920fc4fc0f6a7@seed.pokt.rivet.cloud:26656", "--mainnet"] CMD ["bash", "/home/app/.pocket/bootstrap.sh", "&&", "pocket", "start", "--seeds", "361b1936d3fbe516628ebd6a503920fc4fc0f6a7@seed.pokt.rivet.cloud:26656,03b74fa3c68356bb40d58ecc10129479b159a145@seed1.mainnet.pokt.network:20656,64c91701ea98440bc3674fdb9a99311461cdfd6f@seed2.mainnet.pokt.network:21656,0057ee693f3ce332c4ffcb499ede024c586ae37b@seed3.mainnet.pokt.network:22856,9fd99b89947c6af57cd0269ad01ecb99960177cd@seed4.mainnet.pokt.network:23856,1243026603e9073507a3157bc4de99da74a078fc@seed5.mainnet.pokt.network:24856,6282b55feaff460bb35820363f1eb26237cf5ac3@seed6.mainnet.pokt.network:25856,3640ee055889befbc912dd7d3ed27d6791139395@seed7.mainnet.pokt.network:26856,1951cded4489bf51af56f3dbdd6df55c1a952b1a@seed8.mainnet.pokt.network:27856,a5f4a4cd88db9fd5def1574a0bffef3c6f354a76@seed9.mainnet.pokt.network:28856,d4039bd71d48def9f9f61f670c098b8956e52a08@seed10.mainnet.pokt.network:29856,5c133f07ed296bb9e21e3e42d5f26e0f7d2b2832@poktseed100.chainflow.io:26656", "--mainnet"]

View File

@@ -1,31 +0,0 @@
# Build Bor in a stock Go builder container
FROM golang:1.19-alpine as builder
# Install packages we need
RUN apk add --no-cache make g++ gcc musl-dev linux-headers git
# Grab ERIGON_VERSION from Build Args
ARG ERIGON_VERSION
# Clone the repo to that folder
RUN git clone --recurse-submodules -j8 https://github.com/maticnetwork/erigon.git
# change into repo
WORKDIR ./erigon
# checkout version
RUN git checkout ${ERIGON_VERSION}
# Build Bor
RUN make erigon
# Pull Bor into a second stage deploy alpine container
FROM alpine:latest
RUN apk add --no-cache ca-certificates curl jq libstdc++ libgcc
COPY --from=builder /go/erigon/build/bin/erigon /usr/local/bin/
# Set entrypoint
COPY ./scripts/entrypoint.sh /usr/local/bin/entrypoint.sh
RUN chmod u+x /usr/local/bin/entrypoint.sh
ENTRYPOINT [ "/usr/local/bin/entrypoint.sh" ]

View File

@@ -1,37 +0,0 @@
#!/bin/sh
# exit script on any error
set -e
# Set Bor Home Directory
ERIGON_HOME=/datadir
if [ "${BOOTSTRAP}" == 1 ] && [ -n "${SNAPSHOT_URL}" ] && [ ! -f "${ERIGON_HOME}/bootstrapped" ];
then
echo "downloading snapshot from ${SNAPSHOT_URL}"
mkdir -p ${ERIGON_HOME}
wget --tries=0 -O - "${SNAPSHOT_URL}" | tar -xz -C ${ERIGON_HOME} && touch ${ERIGON_HOME}/bootstrapped
fi
READY=$(curl -s http://heimdalld:26657/status | jq '.result.sync_info.catching_up')
while [[ "${READY}" != "false" ]];
do
echo "Waiting for heimdalld to catch up."
sleep 30
READY=$(curl -s heimdalld:26657/status | jq '.result.sync_info.catching_up')
done
# add snap.keepblocks=true as mentioned on https://snapshot.polygon.technology/
exec erigon \
--chain=bor-mainnet \
--bor.heimdall=http://heimdallr:1317 \
--datadir=${ERIGON_HOME} \
--http --http.addr="0.0.0.0" --http.port="8545" --http.compression --http.vhosts="*" --http.corsdomain="*" --http.api="eth,debug,net,trace,web3,erigon,bor" \
--ws --ws.compression \
--snap.keepblocks=true \
--snapshots="true" \
--torrent.upload.rate="1250mb" --torrent.download.rate="1250mb" \
--metrics --metrics.addr=0.0.0.0 --metrics.port=6060 \
--pprof --pprof.addr=0.0.0.0 --pprof.port=6061

View File

@@ -1,87 +0,0 @@
version: '3.1'
# Client https://github.com/NethermindEth/nethermind
# Nethermind container as in https://github.com/gnosischain/documentation/blob/a46e0964c7e4f75bed0ff02f7ae157c4417f60bd/docs/node/execution-layer-validator.md#setup-as-archive-node
# Beaconchain container as in https://github.com/gnosischain/lighthouse-launch
services:
xdai-archive:
hostname: xdai-archive
container_name: xdai-archive
image: nethermindeth/nethermind:trace-db
restart: always
stop_grace_period: 1m
command: '--JsonRpc.Enabled true --JsonRpc.Host 0.0.0.0 --Metrics.Enabled true --TraceStore.Enabled true --TraceStore.BlocksToKeep 0 --TraceStore.TraceTypes Trace,Rewards'
ports:
- '30303:30303/tcp' # p2p
- '30303:30303/udp' # p2p
- '127.0.0.1:8545:8545'
- '127.0.0.1:9091:9091'
networks:
- chains
volumes:
- nethermind_db:/nethermind/nethermind_db
- nethermind_keystore:/nethermind/keystore
- nethermind_logs:/nethermind/logs
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
environment:
- NETHERMIND_CONFIG=xdai_archive
- NETHERMIND_JSONRPCCONFIG_ENGINEENABLEDMODULES=[Eth,AccountAbstraction,Subscribe,TxPool,Web3,Personal,Proof,Net,Parity,Health,Trace]
- NETHERMIND_METRICSCONFIG_EXPOSEPORT=9091
- NETHERMIND_NETWORKCONFIG_MAXACTIVEPEERS=150
logging:
options:
max-size: "1000m"
labels:
- "traefik.enable=true"
- "traefik.http.middlewares.xdai-archive-stripprefix.stripprefix.prefixes=/xdai-archive"
- "traefik.http.services.xdai-archive.loadbalancer.server.port=8545"
- "traefik.http.routers.xdai-archive.entrypoints=websecure"
- "traefik.http.routers.xdai-archive.tls.certresolver=myresolver"
- "traefik.http.routers.xdai-archive.rule=Host(`$DOMAIN`) && PathPrefix(`/xdai-archive`)"
- "traefik.http.routers.xdai-archive.middlewares=xdai-archive-stripprefix, ipwhitelist"
xdai-beacon:
image: sigp/lighthouse:v3.2.1
hostname: lighthouse-xdai
restart: always
stop_grace_period: 1m
command: |
lighthouse beacon_node
--network gnosis
--checkpoint-sync-url https://rpc-gbc.gnosischain.com/
--discovery-port 12000
--port 13000
--eth1-endpoints $XDAI_RPC_URL
--datadir /home/.eth2/beaconchaindata
--http-address 0.0.0.0
--http
--enr-address $PUBLIC_IP
--enr-udp-port 12000
--target-peers $TARGET_PEERS
--metrics
--metrics-address 0.0.0.0
--metrics-allow-origin *
--debug-level info
ports:
# HTTPPORT
# - 5052
# P2P
- '12000:12000/udp'
- '13000:13000'
networks:
- chains
volumes:
- lighthouse_xdai:/home/.eth2/beaconchaindata
logging:
driver: "json-file"
options:
max-size: "100m"
max-file: "1"
volumes:
nethermind_db:
nethermind_keystore:
nethermind_logs:
lighthouse_xdai: