new branch for harmony-validator

This commit is contained in:
cventastic
2022-04-27 21:03:27 +02:00
parent 40ce43a82c
commit bc0a971418
35 changed files with 19 additions and 23122 deletions

View File

@@ -1,4 +1,20 @@
### Docs
Place val.key and val.pass into ./harmony/keyfiles
[Pocket Validator](README_POKT.md) </br>
[Harmony Validator](harmony/README_HARMONY.md)
```
docker-compose up -d
```
Check if Bootstrap is working.
```
docker logs -f pokt_dokt_harmony-mainnet_1
```
Logs are at:
```
harmony/log
```
HARMONY QUERY
```
curl --location --request POST 'https://$DOMAIN/' --header 'Content-Type: application/json' --data-raw '{"jsonrpc": "2.0", "method": "hmy_latestHeader", "params": [], "id": 1}'
```
[HMY CLI Flags](https://docs.harmony.one/home/network/validators/node-setup/installing-updating/installing-node/using-binary#option-2-setup-using-flag-parsing)

View File

@@ -1,76 +0,0 @@
Tested on Ubuntu 20.04.3 LTS
#### Prerequisites:
docker <br />
docker-compose <br />
DNS A-Record pointing to your server <br />
Wireguard-Server: Paste wireguard wg0.conf from wireguard-server to wireguard/config/wg0.conf <br />
.env File inside POKT-DOKT with secrets <br />
#### Usage
```
git clone https://github.com/cventastic/POKT_DOKT.git
cd POKT_DOKT
git reset --hard origin/main && git pull && ./util/prepare.sh
```
# EXAMPLES
Start POKT in relay mode:
```
command: pocket start --simulateRelay
```
If you want to activly relay. You also have to Stake! <br />
Testnet-Faucet: (https://faucet.pokt.network/) <br />
How to stake: https://docs.pokt.network/home/paths/node-runner#stake-the-validator <br />
POKT QUERY for simulate-relay mode:
```
Pockt-Testnet:
curl -X POST --data '{"relay_network_id":"0002","payload":{"data":"{}","method":"POST","path":"v1/query/height","headers":{}}}' http://localhost:8082/v1/client/sim
Pocket-Mainnet:
curl -X POST --data '{"relay_network_id":"0001","payload":{"data":"{}","method":"POST","path":"v1/query/height","headers":{}}}' http://localhost:8081/v1/client/sim
```
GETH QUERY (from whitelisted servers e.g pokt-test) for simulate-relay mode:
```
Pocket-Testnet:
curl -X POST --data '{"relay_network_id":"0020","payload":{"data":"{\"jsonrpc\":\"2.0\",\"method\":\"eth_getBalance\",\"params\":[\"0x1a8c807a6E4F624fCab01FEBf76a541d31B8345A\", \"latest\"],\"id\":1}","method":"POST","path":"","headers":{}}}' http://127.0.0.1:8082/v1/client/sim
curl -v -X POST --data '{"relay_network_id":"0020","payload":{"data":"{\"jsonrpc\":\"2.0\",\"method\":\"eth_syncing\",\"params\":[],\"id\":1}","method":"POST","path":"","headers":{}}}' http://127.0.0.1:8082/v1/client/sim
Pocket-Mainnet:
curl -X POST --data '{"relay_network_id":"0021","payload":{"data":"{\"jsonrpc\":\"2.0\",\"method\":\"eth_getBalance\",\"params\":[\"0x1a8c807a6E4F624fCab01FEBf76a541d31B8345A\", \"latest\"],\"id\":1}","method":"POST","path":"","headers":{}}}' http://127.0.0.1:8081/v1/client/sim
curl -v -X POST --data '{"relay_network_id":"0021","payload":{"data":"{\"jsonrpc\":\"2.0\",\"method\":\"eth_syncing\",\"params\":[],\"id\":1}","method":"POST","path":"","headers":{}}}' http://127.0.0.1:8081/v1/client/sim
```
STANDARD GETH QUERY (from whitelistet server)
```
curl -X POST -H "Content-Type: application/json" --data '{"jsonrpc":"2.0","method":"eth_syncing","params":[],"id":1}' https://$RPCNODE/goerli
```
# SSL
I you want to test SSL comment in:
```
# - "--certificatesresolvers.myresolver.acme.caserver=https://acme-staging-v02.api.letsencrypt.org/directory"
```
Check if there is a file here /traefic/letsencrypt/acme.json if yes, you have to delete it. <br />
Otherwise traefik will not issue the certificate for an existing domain. <br />
#### TODO !!!!
Bootstrapping from Snapshots <br />
Link-Timezone into containers.
AVALANCHE:
- Archive?
- Monitoring https://docs.avax.network/build/tools/dashboards/README
### Notes
#### Monitoring
Telegram get group ids the bot is in:
```curl -X POST https://api.telegram.org/bot$TELEGRAM_API_TOKEN/getUpdates```
There has to be an event in the channel for the bot to get updates
### neue NODE
.env
rpc-timeout
whitelist

View File

@@ -1,9 +0,0 @@
#!/bin/sh
if [ ! -f /home/app/.pocket/setupdone ]
then
mkdir -p /home/app/.pocket/data
echo "wget -q -O - '$POCKET_SNAPSHOT' | tar -xv -C /home/app/.pocket/data/"
wget -q -O - $POCKET_SNAPSHOT | tar -xv -C /home/app/.pocket/data/
touch /home/app/.pocket/setupdone
fi

View File

@@ -1,42 +0,0 @@
[
{
"id": "0001",
"url": "https://${DOMAIN}/pokt"
},
{
"id": "0005",
"url": "https://${DOMAIN}/fuse"
},
{
"id": "0021",
"url": "https://${DOMAIN}/erigon"
},
{
"id": "0022",
"url": "https://${DOMAIN}/erigon"
},
{
"id": "0023",
"url": "https://${DOMAIN}/ropsten"
},
{
"id": "0025",
"url": "https://${DOMAIN}/rinkeby"
},
{
"id": "0026",
"url": "https://${DOMAIN}/goerli"
},
{
"id": "0027",
"url": "https://${DOMAIN}/xdai"
},
{
"id": "0028",
"url": "https://${DOMAIN}/erigon"
},
{
"id": "0040",
"url": "https://${DOMAIN}/harmony"
}
]

View File

@@ -1,18 +0,0 @@
[
{
"id": "0020",
"url": "https://${DOMAIN}/goerli"
},
{
"id": "0022",
"url": "https://${DOMAIN}/rinkeby"
},
{
"id": "0023",
"url": "https://${DOMAIN}/ropsten"
},
{
"id": "0002",
"url": "https://${DOMAIN}/pokttest"
}
]

View File

@@ -1,434 +0,0 @@
version: '3.1'
services:
traefik:
image: traefik:latest
container_name: traefik
restart: always
ports:
- "443:443"
- "127.0.0.1:8080:8080"
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"
networks:
- chains
labels:
- "traefik.enable=true"
### NODES
geth-goerli:
image: ethereum/client-go:latest
expose:
- "8545"
- "6060"
- "30303"
volumes:
- geth-goerli:/.goerli
networks:
- chains
command: "--goerli --http --http.api eth,net --http.addr 0.0.0.0 --http.port 8545 --http.vhosts=* --syncmode full --datadir .goerli --verbosity 3 --metrics.addr 0.0.0.0 --pprof.addr 0.0.0.0"
labels:
- "traefik.enable=true"
- "traefik.http.middlewares.ipwhitelist.ipwhitelist.sourcerange=$WHITELIST"
- "traefik.http.middlewares.geth-goerli-stripprefix.stripprefix.prefixes=/goerli"
- "traefik.http.services.geth-goerli.loadbalancer.server.port=8545"
- "traefik.http.routers.geth-goerli.entrypoints=websecure"
- "traefik.http.routers.geth-goerli.tls.certresolver=myresolver"
- "traefik.http.routers.geth-goerli.rule=Host(`$DOMAIN`) && PathPrefix(`/goerli`)"
- "traefik.http.routers.geth-goerli.middlewares=geth-goerli-stripprefix, ipwhitelist"
geth-rinkeby:
image: ethereum/client-go:latest
expose:
- "8545"
- "6060"
- "30303"
volumes:
- geth-rinkeby:/.rinkeby
networks:
- chains
command: "--rinkeby --http --http.api eth,net --http.addr 0.0.0.0 --http.port 8545 --http.vhosts=* --syncmode full --datadir .rinkeby --verbosity 3 --metrics.addr 0.0.0.0 --pprof.addr 0.0.0.0"
restart: unless-stopped
labels:
- "traefik.enable=true"
- "traefik.http.middlewares.ipwhitelist.ipwhitelist.sourcerange=$WHITELIST"
- "traefik.http.middlewares.geth-rinkeby-stripprefix.stripprefix.prefixes=/rinkeby"
- "traefik.http.services.geth-rinkeby.loadbalancer.server.port=8545"
- "traefik.http.routers.geth-rinkeby.entrypoints=websecure"
- "traefik.http.routers.geth-rinkeby.tls.certresolver=myresolver"
- "traefik.http.routers.geth-rinkeby.rule=Host(`$DOMAIN`) && PathPrefix(`/rinkeby`)"
- "traefik.http.routers.geth-rinkeby.middlewares=geth-rinkeby-stripprefix, ipwhitelist"
geth-ropsten:
image: ethereum/client-go:latest
expose:
- "8545"
- "6060"
- "30303"
volumes:
- geth-ropsten:/.ropsten
networks:
- chains
command: "--ropsten --http --http.api eth,net --http.addr 0.0.0.0 --http.port 8545 --http.vhosts=* --syncmode full --datadir .ropsten --verbosity 3 --metrics.addr 0.0.0.0 --pprof.addr 0.0.0.0"
restart: unless-stopped
labels:
- "traefik.enable=true"
- "traefik.http.middlewares.ipwhitelist.ipwhitelist.sourcerange=$WHITELIST"
- "traefik.http.middlewares.geth-ropsten-stripprefix.stripprefix.prefixes=/ropsten"
- "traefik.http.services.geth-ropsten.loadbalancer.server.port=8545"
- "traefik.http.routers.geth-ropsten.entrypoints=websecure"
- "traefik.http.routers.geth-ropsten.tls.certresolver=myresolver"
- "traefik.http.routers.geth-ropsten.rule=Host(`$DOMAIN`) && PathPrefix(`/ropsten`)"
- "traefik.http.routers.geth-ropsten.middlewares=geth-ropsten-stripprefix, ipwhitelist"
xdai:
image: nethermind/nethermind:latest
expose:
- "8545"
- "40444"
ports:
- "40444:40444"
- "40444:40444/udp"
volumes:
- xdai:/nethermind_db/xdai
- ./xdai/xdai.cfg:/xdai.cfg
- ./xdai/xdai.json:/xdai.json
networks:
- chains
command: "--config /xdai.cfg"
restart: unless-stopped
labels:
- "traefik.enable=true"
- "traefik.http.middlewares.xdai-stripprefix.stripprefix.prefixes=/xdai"
- "traefik.http.middlewares.ipwhitelist.ipwhitelist.sourcerange=$WHITELIST"
- "traefik.http.services.xdai.loadbalancer.server.port=8545"
- "traefik.http.routers.xdai.entrypoints=websecure"
- "traefik.http.routers.xdai.tls.certresolver=myresolver"
- "traefik.http.routers.xdai.rule=Host(`$DOMAIN`) && PathPrefix(`/xdai`)"
- "traefik.http.routers.xdai.middlewares=xdai-stripprefix, ipwhitelist"
harmony-mainnet:
build: ./harmony/build
command: bash -c "/harmony.sh && /binary --log.dir /harmony/log --run explorer --run.shard 0 --dns.zone t.hmny.io --http.ip 0.0.0.0 --datadir /harmony"
sysctls:
net.core.somaxconn: 1024
# net.core.netdev_max_backlog: 65536
net.ipv4.tcp_tw_reuse: 1
net.ipv4.tcp_rmem: 4096 65536 16777216
net.ipv4.tcp_wmem: 4096 65536 16777216
# net.ipv4.tcp_mem: 65536 131072 262144
ulimits:
nproc: 65535
nofile:
soft: 65535
hard: 65535
expose:
- "9500"
- "9000"
- "6000"
- "30303"
volumes:
- harmony:/harmony/
- ./harmony/log:/harmony/log
- ./bootstrap_skript/harmony.sh:/harmony.sh
networks:
- chains
restart: unless-stopped
labels:
- "traefik.enable=true"
- "traefik.http.middlewares.harmony-mainnet-stripprefix.stripprefix.prefixes=/harmony"
- "traefik.http.middlewares.ipwhitelist.ipwhitelist.sourcerange=$WHITELIST"
- "traefik.http.services.harmony-mainnet.loadbalancer.server.port=9500"
- "traefik.http.routers.harmony-mainnet.entrypoints=websecure"
- "traefik.http.routers.harmony-mainnet.tls.certresolver=myresolver"
- "traefik.http.routers.harmony-mainnet.rule=Host(`$DOMAIN`) && PathPrefix(`/harmony`)"
- "traefik.http.routers.harmony-mainnet.middlewares=harmony-mainnet-stripprefix, ipwhitelist"
erigon-trace:
image: thorax/erigon
expose:
- "30303"
- "30304"
- "9090"
volumes:
- erigon-trace:/home/erigon/.local/share/erigon
networks:
- chains
command: erigon --chain mainnet --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
restart: unless-stopped
rpcdaemon:
image: thorax/erigon:latest
command: rpcdaemon --datadir=/home/erigon/.local/share/erigon --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.ipwhitelist.ipwhitelist.sourcerange=$WHITELIST"
- "traefik.http.middlewares.rpcdaemon-stripprefix.stripprefix.prefixes=/erigon"
- "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`)"
- "traefik.http.routers.rpcdaemon.middlewares=rpcdaemon-stripprefix, ipwhitelist"
avalanche:
image: avaplatform/avalanchego
expose:
- "9650"
- "9651"
ports:
- "9651:9651/tcp"
- "9651:9651/udp"
volumes:
- avalanche:/root/.avalanchego
networks:
- chains
command: "/avalanchego/build/avalanchego --http-host="
restart: unless-stopped
labels:
- "traefik.enable=true"
- "traefik.http.middlewares.ipwhitelist.ipwhitelist.sourcerange=$WHITELIST"
- "traefik.http.middlewares.avalanche-stripprefix.stripprefix.prefixes=/avalanche"
- "traefik.http.services.avalanche.loadbalancer.server.port=8545"
- "traefik.http.routers.avalanche.entrypoints=websecure"
- "traefik.http.routers.avalanche.tls.certresolver=myresolver"
- "traefik.http.routers.avalanche.rule=Host(`$DOMAIN`) && PathPrefix(`/avalanche`)"
- "traefik.http.routers.avalanche.middlewares=avalanche-stripprefix, ipwhitelist"
pocket-testnet:
image: poktnetwork/pocket-core:stagenet-latest
ports:
- "127.0.0.1:8082:8081"
- "26657:26656"
expose:
- 26656
- 8081
command: pocket start --seeds=$POCKET_TEST_SEEDS --testnet
#command: pocket start --simulateRelay
environment:
- POCKET_CORE_KEY=$POCKET_CORE_KEY_TEST
- POCKET_CORE_PASSPHRASE=$POCKET_CORE_PASSPHRASE_TEST
volumes:
- ./chains/chains_testnet.json:/home/app/.pocket/config/chains.json
- pocket-testnet:/home/app/.pocket
networks:
- chains
restart: unless-stopped
labels:
- "traefik.enable=true"
- "traefik.http.middlewares.ipwhitelist.ipwhitelist.sourcerange=$WHITELIST"
- "traefik.http.middlewares.pocket-testnet-stripprefix.stripprefix.prefixes=/pokttest"
- "traefik.http.services.pocket-testnet.loadbalancer.server.port=8081"
- "traefik.http.routers.pocket-testnet.entrypoints=websecure"
- "traefik.http.routers.pocket-testnet.tls.certresolver=myresolver"
- "traefik.http.routers.pocket-testnet.rule=Host(`$DOMAIN`) && PathPrefix(`/pokttest`)"
- "traefik.http.routers.pocket-testnet.middlewares=pocket-testnet-stripprefix, ipwhitelist"
pocket-mainnet:
image: poktnetwork/pocket-core:stagenet-latest
ports:
- "127.0.0.1:8081:8081"
- "26656:26656"
expose:
- 26656
- 8081
command: /home/app/.pocket/pokt_mainnet.sh && pocket start --seeds=$POCKET_MAIN_SEEDS --mainnet
#command: pocket start --simulateRelay
environment:
- POCKET_CORE_KEY=$POCKET_CORE_KEY
- POCKET_CORE_PASSPHRASE=$POCKET_CORE_PASSPHRASE
- POCKET_SNAPSHOT=$POCKET_SNAPSHOT
volumes:
- ./bootstrap_skript/pokt_mainnet.sh:/home/app/.pocket/pokt_mainnet.sh
- ./chains/chains_mainnet.json:/home/app/.pocket/config/chains.json
- ./pokt/config.json:/home/app/.pocket/config/config.json
- pocket-mainnet:/home/app/.pocket
networks:
- chains
labels:
- "traefik.enable=true"
- "traefik.http.middlewares.ipwhitelist.ipwhitelist.sourcerange=$WHITELIST"
- "traefik.http.middlewares.pocket-mainnet-stripprefix.stripprefix.prefixes=/pokt"
- "traefik.http.services.pocket-mainner.loadbalancer.server.port=8081"
- "traefik.http.routers.pocket-mainnet.entrypoints=websecure"
- "traefik.http.routers.pocket-mainnet.tls.certresolver=myresolver"
- "traefik.http.routers.pocket-mainnet.rule=Host(`$DOMAIN`) && PathPrefix(`/pokt`)"
- "traefik.http.routers.pocket-mainnet.middlewares=pocket-mainnet-stripprefix, ipwhitelist"
restart: unless-stopped
fusenetstat:
image: fusenet/netstat:1.0.0
command: "--instance-name 0xeb5Ca1d019e9D8b9aa9C47991993C84d1062628d --role node --parity-version 2.0.1 --fuseapp-version 1.0.0 --netstats-version 1.0.0"
network_mode: "service:fusenet"
restart: unless-stopped
depends_on:
- fusenet
# wants udp and tcp port bindings on 30303
fusenet:
image: fusenet/node:2.0.1
expose:
- "8545"
- "8546"
- "30303"
environment:
- HOME=/home/parity
- PARITY_HOME_DIR=/home/parity/.local/share/io.parity.ethereum
- PARITY_CONFIG_FILE_CHAIN=/home/parity/.local/share/io.parity.ethereum/spec.json
- PARITY_CONFIG_FILE_BOOTNODES=/home/parity/.local/share/io.parity.ethereum/bootnodes.txt
- PARITY_CONFIG_FILE_TEMPLATE=/home/parity/.local/share/io.parity.ethereum/config_template.toml
- PARITY_DATA_DIR=/home/parity/.local/share/io.parity.ethereum/chains
- PARITY_BIN=/usr/local/bin/parity
- PARITY_WRAPPER_SCRIPT=/home/parity/parity_wrapper.sh
volumes:
- /root/fusenet/database:/data
- /root/fusenet/config:/config/custom
networks:
- chains
command: "--role node --parity-args --no-warp --node-key 0xeb5Ca1d019e9D8b9aa9C47991993C84d1062628d --jsonrpc-threads 1 --jsonrpc-server-threads 4"
restart: unless-stopped
labels:
- "traefik.enable=true"
- "traefik.http.middlewares.ipwhitelist.ipwhitelist.sourcerange=$WHITELIST"
- "traefik.http.middlewares.fuse-stripprefix.stripprefix.prefixes=/fuse"
- "traefik.http.services.fuse.loadbalancer.server.port=8545"
- "traefik.http.routers.fuse.entrypoints=websecure"
- "traefik.http.routers.fuse.tls.certresolver=myresolver"
- "traefik.http.routers.fuse.rule=Host(`$DOMAIN`) && PathPrefix(`/fuse`)"
- "traefik.http.routers.fuse.middlewares=fuse-stripprefix, ipwhitelist"
### WIREGUARD
wireguard:
image: lscr.io/linuxserver/wireguard
container_name: wireguard
cap_add:
- NET_ADMIN
- SYS_MODULE
environment:
- PUID=$PUID
- PGID=$PGID
volumes:
- ./wireguard/config/wg0.conf:/config/wg0.conf
- /lib/modules:/lib/modules
networks:
- chains
# Expose prometheus port
expose:
- 9090
ports:
- $SERVERPORT:$SERVERPORT/udp
sysctls:
- net.ipv4.conf.all.src_valid_mark=1
restart: unless-stopped
### MONITORING
prometheus:
image: prom/prometheus:v2.30.3
container_name: prometheus
volumes:
- ./prometheus/prometheus-rpc.yml:/etc/prometheus/prometheus.yml
- prometheus_data:/prometheus
command:
- '--config.file=/etc/prometheus/prometheus.yml'
- '--storage.tsdb.path=/prometheus'
- '--web.console.libraries=/etc/prometheus/console_libraries'
- '--web.console.templates=/etc/prometheus/consoles'
- '--storage.tsdb.retention.time=200h'
- '--web.enable-lifecycle'
restart: unless-stopped
network_mode: "service:wireguard"
labels:
org.label-schema.group: "monitoring"
depends_on:
- wireguard
nodeexporter:
image: prom/node-exporter:v1.2.2
container_name: nodeexporter
volumes:
- /proc:/host/proc:ro
- /sys:/host/sys:ro
- /:/rootfs:ro
networks:
- chains
command:
- '--path.procfs=/host/proc'
- '--path.rootfs=/rootfs'
- '--path.sysfs=/host/sys'
- '--collector.filesystem.mount-points-exclude=^/(sys|proc|dev|host|etc)($$|/)'
restart: unless-stopped
expose:
- 9100
labels:
org.label-schema.group: "monitoring"
cadvisor:
image: gcr.io/cadvisor/cadvisor:v0.42.0
container_name: cadvisor
privileged: true
devices:
- /dev/kmsg:/dev/kmsg
volumes:
- /:/rootfs:ro
- /var/run:/var/run:ro
- /sys:/sys:ro
- /var/lib/docker:/var/lib/docker:ro
#- /cgroup:/cgroup:ro #doesn't work on MacOS only for Linux
networks:
- chains
restart: unless-stopped
expose:
- 8080
labels:
org.label-schema.group: "monitoring"
### VOLUMES
volumes:
xdai:
harmony:
geth-goerli:
geth-rinkeby:
geth-ropsten:
erigon-trace:
avalanche:
pocket-testnet:
pocket-mainnet:
prometheus_data:
networks:
chains:
driver: bridge
ipam:
config:
- subnet: 192.168.0.1/27

View File

@@ -1,96 +0,0 @@
version: '3.1'
services:
### WIREGUARD
wireguard:
image: lscr.io/linuxserver/wireguard
container_name: wireguard
healthcheck:
test: [ "CMD", "ping", "-c", "1", "10.13.13.1" ]
timeout: 10s
interval: 5s
retries: 3
cap_add:
- NET_ADMIN
- SYS_MODULE
environment:
- PUID=$PUID
- PGID=$PGID
volumes:
- ./wireguard/config/wg0.conf:/config/wg0.conf
- /lib/modules:/lib/modules
# Expose prometheus port
expose:
- 9090
ports:
- $SERVERPORT:$SERVERPORT/udp
sysctls:
- net.ipv4.conf.all.src_valid_mark=1
restart: unless-stopped
### MONITORING
prometheus:
image: prom/prometheus:v2.30.3
container_name: prometheus
volumes:
- ./prometheus:/etc/prometheus
- prometheus_data:/prometheus
command:
- '--config.file=/etc/prometheus/prometheus.yml'
- '--storage.tsdb.path=/prometheus'
- '--web.console.libraries=/etc/prometheus/console_libraries'
- '--web.console.templates=/etc/prometheus/consoles'
- '--storage.tsdb.retention.time=200h'
- '--web.enable-lifecycle'
restart: unless-stopped
network_mode: "service:wireguard"
labels:
org.label-schema.group: "monitoring"
depends_on:
- wireguard
nodeexporter:
image: prom/node-exporter:v1.2.2
container_name: nodeexporter
volumes:
- /proc:/host/proc:ro
- /sys:/host/sys:ro
- /:/rootfs:ro
command:
- '--path.procfs=/host/proc'
- '--path.rootfs=/rootfs'
- '--path.sysfs=/host/sys'
- '--collector.filesystem.mount-points-exclude=^/(sys|proc|dev|host|etc)($$|/)'
restart: unless-stopped
expose:
- 9100
labels:
org.label-schema.group: "monitoring"
cadvisor:
image: gcr.io/cadvisor/cadvisor:v0.42.0
container_name: cadvisor
privileged: true
devices:
- /dev/kmsg:/dev/kmsg
volumes:
- /:/rootfs:ro
- /var/run:/var/run:ro
- /sys:/sys:ro
- /var/lib/docker:/var/lib/docker:ro
#- /cgroup:/cgroup:ro #doesn't work on MacOS only for Linux
restart: unless-stopped
expose:
- 8080
labels:
org.label-schema.group: "monitoring"
### VOLUMES
volumes:
prometheus_data:

View File

@@ -1,54 +0,0 @@
---
version: "3.1"
services:
wireguard:
image: lscr.io/linuxserver/wireguard
container_name: wireguard
cap_add:
- NET_ADMIN
- SYS_MODULE
environment:
- PUID=$PUID
- PGID=$PGID
- TZ=Europe/London
- SERVERURL=$SERVERURL
- SERVERPORT=$SERVERPORT
- PEERS=$PEERS
- PEERDNS=none
- ALLOWEDIPS=$ALLOWEDIPS
- INTERNAL_SUBNET=$INTERNAL_SUBNET
volumes:
- ./wireguard/config:/config
- /lib/modules:/lib/modules
ports:
- $SERVERPORT:$SERVERPORT/udp
- 127.0.0.1:3000:3000
sysctls:
- net.ipv4.conf.all.src_valid_mark=1
- net.ipv4.ip_forward=1
restart: unless-stopped
grafana:
image: grafana/grafana:8.3.3
container_name: grafana
volumes:
- grafana_data:/var/lib/grafana
- ./grafana/provisioning/dashboards:/etc/grafana/provisioning/dashboards
- ./grafana/provisioning/datasources:/etc/grafana/provisioning/datasources
environment:
- GF_SECURITY_ADMIN_USER=$ADMIN
- GF_SECURITY_ADMIN_PASSWORD=$PASSWORD
- GF_USERS_ALLOW_SIGN_UP=false
restart: unless-stopped
labels:
org.label-schema.group: "monitoring"
network_mode: "service:wireguard"
# DEBUG container wireguard
# alpine:
#image: alpine
#command: sleep infinity
#network_mode: "service:wireguard"
volumes:
grafana_data:

View File

@@ -1,186 +0,0 @@
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"
### WIREGUARD
wireguard:
image: lscr.io/linuxserver/wireguard
container_name: wireguard
cap_add:
- NET_ADMIN
- SYS_MODULE
environment:
- PUID=$PUID
- PGID=$PGID
volumes:
- ./wireguard/config/wg0.conf:/config/wg0.conf
- /lib/modules:/lib/modules
# Expose prometheus port
expose:
- 9090
ports:
- $SERVERPORT:$SERVERPORT/udp
sysctls:
- net.ipv4.conf.all.src_valid_mark=1
restart: unless-stopped
### MONITORING
prometheus:
image: prom/prometheus:v2.30.3
container_name: prometheus
volumes:
- ./prometheus:/etc/prometheus
- prometheus_data:/prometheus
command:
- '--config.file=/etc/prometheus/prometheus.yml'
- '--storage.tsdb.path=/prometheus'
- '--web.console.libraries=/etc/prometheus/console_libraries'
- '--web.console.templates=/etc/prometheus/consoles'
- '--storage.tsdb.retention.time=200h'
- '--web.enable-lifecycle'
restart: unless-stopped
network_mode: "service:wireguard"
labels:
org.label-schema.group: "monitoring"
depends_on:
- wireguard
nodeexporter:
image: prom/node-exporter:v1.2.2
container_name: nodeexporter
volumes:
- /proc:/host/proc:ro
- /sys:/host/sys:ro
- /:/rootfs:ro
command:
- '--path.procfs=/host/proc'
- '--path.rootfs=/rootfs'
- '--path.sysfs=/host/sys'
- '--collector.filesystem.mount-points-exclude=^/(sys|proc|dev|host|etc)($$|/)'
restart: unless-stopped
expose:
- 9100
labels:
org.label-schema.group: "monitoring"
cadvisor:
image: gcr.io/cadvisor/cadvisor:v0.42.0
container_name: cadvisor
privileged: true
devices:
- /dev/kmsg:/dev/kmsg
volumes:
- /:/rootfs:ro
- /var/run:/var/run:ro
- /sys:/sys:ro
- /var/lib/docker:/var/lib/docker:ro
#- /cgroup:/cgroup:ro #doesn't work on MacOS only for Linux
restart: unless-stopped
expose:
- 8080
labels:
org.label-schema.group: "monitoring"
pushgateway:
image: prom/pushgateway:v1.4.2
container_name: pushgateway
restart: unless-stopped
expose:
- 9091
labels:
org.label-schema.group: "monitoring"
### POKT
pocket-fr-1:
image: poktnetwork/pocket-core:stagenet-latest
ports:
- "127.0.0.1:8081:8081"
- "26656:26656"
expose:
- 26656
- 26660
- 8081
- 8083
command: /home/app/.pocket/pokt_mainnet.sh && pocket start --seeds=$POCKET_MAIN_SEEDS --mainnet
#command: pocket start --simulateRelay
environment:
- POCKET_CORE_KEY=$POKT_FR_1_POCKET_CORE_KEY
- POCKET_CORE_PASSPHRASE=$POKT_FR_1_POCKET_CORE_PASSPHRASE
- POCKET_SNAPSHOT=$POCKET_SNAPSHOT
volumes:
- ./bootstrap_skript/pokt_mainnet.sh:/home/app/.pocket/pokt_mainnet.sh
- ./chains/chains_mainnet.json:/home/app/.pocket/config/chains.json
- ./pokt/config.json:/home/app/.pocket/config/config.json
- pocket-mainnet:/home/app/.pocket
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_FR_1_DOMAIN`) && Path(`/v1`, `/v1/client/{dispatch|relay|challenge|sim}`)"
pocket-fr-2:
image: poktnetwork/pocket-core:stagenet-latest
ports:
- "127.0.0.1:8082:8081"
- "26657:26656"
expose:
- 26656
- 26660
- 8081
- 8083
command: /home/app/.pocket/pokt_mainnet.sh && pocket start --seeds=$POCKET_MAIN_SEEDS --mainnet
#command: pocket start --simulateRelay
environment:
- POCKET_CORE_KEY=$POKT_FR_2_POCKET_CORE_KEY
- POCKET_CORE_PASSPHRASE=$POKT_FR_2_POCKET_CORE_PASSPHRASE
- POCKET_SNAPSHOT=$POCKET_SNAPSHOT
volumes:
- ./bootstrap_skript/pokt_mainnet.sh:/home/app/.pocket/pokt_mainnet.sh
- ./chains/chains_mainnet.json:/home/app/.pocket/config/chains.json
- ./pokt/config.json:/home/app/.pocket/config/config.json
- pocket-fr-2:/home/app/.pocket
restart: unless-stopped
labels:
- "traefik.enable=true"
- "traefik.http.services.pocket-fr-2.loadbalancer.server.port=8081"
- "traefik.http.routers.pocket-fr-2.entrypoints=websecure"
- "traefik.http.routers.pocket-fr-2.tls.certresolver=myresolver"
- "traefik.http.routers.pocket-fr-2.rule=Host(`$POKT_FR_2_DOMAIN`) && Path(`/v1`, `/v1/client/{dispatch|relay|challenge|sim}`)"
### VOLUMES
volumes:
pocket-mainnet:
pocket-fr-2:
prometheus_data:

View File

@@ -1,139 +0,0 @@
version: '3.1'
services:
traefik:
image: traefik:latest
container_name: traefik
restart: always
ports:
- "443:443"
- "127.0.0.1:8080:8080"
command:
- "--api=true"
- "--api.insecure=true"
- "--api.dashboard=true"
- "--log.level=DEBUG"
- "--providers.docker=true"
- "--providers.docker.exposedbydefault=false"
- "--entrypoints.websecure.address=:443"
- "--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"
pocket-testnet:
image: poktnetwork/pocket-core:stagenet-latest
ports:
- "127.0.0.1:8081:8081"
- "26656:26656"
expose:
- 26656
- 8081
- 8083
command: pocket start --seeds=$POCKET_TEST_SEEDS --testnet
#command: pocket start --simulateRelay
environment:
- POCKET_CORE_KEY=$POCKET_CORE_KEY_TEST
- POCKET_CORE_PASSPHRASE=$POCKET_CORE_PASSPHRASE_TEST
volumes:
- ./chains/chains_testnet.json:/home/app/.pocket/config/chains.json
- pocket-testnet:/home/app/.pocket
restart: unless-stopped
labels:
- "traefik.enable=true"
- "traefik.http.services.pocket-testnet.loadbalancer.server.port=8081"
- "traefik.http.routers.pocket-testnet.entrypoints=websecure"
- "traefik.http.routers.pocket-testnet.tls.certresolver=myresolver"
- "traefik.http.routers.pocket-testnet.rule=Host(`$RELAYDOMAIN`) && Path(`/v1`, `/v1/client/{dispatch|relay|challenge|sim}`)"
### MONITORING
### WIREGUARD
wireguard:
image: lscr.io/linuxserver/wireguard
container_name: wireguard
cap_add:
- NET_ADMIN
- SYS_MODULE
environment:
- PUID=$PUID
- PGID=$PGID
volumes:
- ./wireguard/config/wg0.conf:/config/wg0.conf
- /lib/modules:/lib/modules
# Expose prometheus port
expose:
- 9090
ports:
- $SERVERPORT:$SERVERPORT/udp
sysctls:
- net.ipv4.conf.all.src_valid_mark=1
restart: unless-stopped
prometheus:
image: prom/prometheus:v2.30.3
container_name: prometheus
volumes:
- ./prometheus:/etc/prometheus
- prometheus_data:/prometheus
command:
- '--config.file=/etc/prometheus/prometheus.yml'
- '--storage.tsdb.path=/prometheus'
- '--web.console.libraries=/etc/prometheus/console_libraries'
- '--web.console.templates=/etc/prometheus/consoles'
- '--storage.tsdb.retention.time=200h'
- '--web.enable-lifecycle'
restart: unless-stopped
network_mode: "service:wireguard"
labels:
org.label-schema.group: "monitoring"
depends_on:
- wireguard
nodeexporter:
image: prom/node-exporter:v1.2.2
container_name: nodeexporter
volumes:
- /proc:/host/proc:ro
- /sys:/host/sys:ro
- /:/rootfs:ro
command:
- '--path.procfs=/host/proc'
- '--path.rootfs=/rootfs'
- '--path.sysfs=/host/sys'
- '--collector.filesystem.mount-points-exclude=^/(sys|proc|dev|host|etc)($$|/)'
restart: unless-stopped
expose:
- 9100
labels:
org.label-schema.group: "monitoring"
cadvisor:
image: gcr.io/cadvisor/cadvisor:v0.42.0
container_name: cadvisor
privileged: true
devices:
- /dev/kmsg:/dev/kmsg
volumes:
- /:/rootfs:ro
- /var/run:/var/run:ro
- /sys:/sys:ro
- /var/lib/docker:/var/lib/docker:ro
#- /cgroup:/cgroup:ro #doesn't work on MacOS only for Linux
restart: unless-stopped
expose:
- 8080
labels:
org.label-schema.group: "monitoring"
### VOLUMES
volumes:
pocket-testnet:
prometheus_data:

View File

@@ -1,104 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": "-- Grafana --",
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations & Alerts",
"target": {
"limit": 100,
"matchAny": false,
"tags": [],
"type": "dashboard"
},
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"id": 13,
"links": [],
"liveNow": false,
"panels": [
{
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 0
},
"id": 6,
"title": "Row title",
"type": "row"
},
{
"gridPos": {
"h": 11,
"w": 12,
"x": 0,
"y": 1
},
"id": 2,
"options": {
"alertName": "",
"dashboardAlerts": false,
"folder": {
"id": 1,
"title": "Monitoring Services"
},
"maxItems": 20,
"showInstances": false,
"sortOrder": 1,
"stateFilter": {
"firing": true,
"inactive": true,
"pending": true
}
},
"title": "Alerts",
"type": "alertlist"
},
{
"gridPos": {
"h": 11,
"w": 12,
"x": 12,
"y": 1
},
"id": 4,
"options": {
"maxItems": 10,
"query": "",
"showHeadings": false,
"showRecentlyViewed": false,
"showSearch": true,
"showStarred": false,
"tags": []
},
"pluginVersion": "8.3.3",
"title": "Panel Title",
"type": "dashlist"
}
],
"schemaVersion": 34,
"style": "dark",
"tags": [],
"templating": {
"list": []
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "Overview",
"uid": "_tGw-fJnz",
"version": 5,
"weekStart": ""
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,684 +0,0 @@
{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": "-- Grafana --",
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations & Alerts",
"target": {
"limit": 100,
"matchAny": false,
"tags": [],
"type": "dashboard"
},
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"id": 10,
"links": [],
"liveNow": false,
"panels": [
{
"datasource": {
"type": "prometheus",
"uid": "P00A23F4F516FCA75"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "bars",
"fillOpacity": 0,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "auto",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 8,
"x": 0,
"y": 0
},
"id": 7,
"options": {
"legend": {
"calcs": [
"sum"
],
"displayMode": "list",
"placement": "right"
},
"tooltip": {
"mode": "single"
}
},
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "P00A23F4F516FCA75"
},
"exemplar": true,
"expr": "rate(traefik_service_requests_total{instance=\"traefik:8082\",service=\"pocket-fr-1@docker\"}[1m]) * 100",
"hide": false,
"interval": "",
"legendFormat": "{{ code }}",
"refId": "B"
}
],
"title": "Requests POKT-FR-1",
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "P00A23F4F516FCA75"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 0,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "auto",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 8,
"x": 8,
"y": 0
},
"id": 8,
"options": {
"legend": {
"calcs": [
"sum"
],
"displayMode": "list",
"placement": "right"
},
"tooltip": {
"mode": "single"
}
},
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "P00A23F4F516FCA75"
},
"exemplar": true,
"expr": "rate(traefik_service_requests_total{instance=\"traefik:8082\",service=\"pocket-fr-2@docker\"}[1m]) * 100",
"interval": "",
"legendFormat": "{{ code }}",
"refId": "A"
}
],
"title": "Requests POKT-FR-2",
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "P00A23F4F516FCA75"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 0,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "auto",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 8,
"x": 16,
"y": 0
},
"id": 6,
"options": {
"legend": {
"calcs": [
"sum"
],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single"
}
},
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "P00A23F4F516FCA75"
},
"exemplar": true,
"expr": "rate(traefik_service_requests_tls_total{instance=\"traefik:8082\",service=~\"pocket-fr-1@docker|pocket-fr-2@docker\"}[1m]) * 100",
"interval": "",
"legendFormat": "{{ tls_cipher }}",
"refId": "A"
}
],
"title": "Requests SSL",
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "P00A23F4F516FCA75"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 0,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "auto",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 8,
"x": 0,
"y": 8
},
"id": 2,
"options": {
"legend": {
"calcs": [
"sum"
],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single"
}
},
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "P00A23F4F516FCA75"
},
"exemplar": true,
"expr": "traefik_service_open_connections{instance=\"traefik:8082\",service=~\"pocket-fr-1@docker|pocket-fr-2@docker\"}",
"interval": "",
"legendFormat": "{{ method }} {{ service }}",
"refId": "A"
}
],
"title": "Connections",
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "P00A23F4F516FCA75"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 0,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "auto",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 8,
"x": 8,
"y": 8
},
"id": 4,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single"
}
},
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "P00A23F4F516FCA75"
},
"exemplar": true,
"expr": "rate(traefik_service_request_duration_seconds_count{instance=\"traefik:8082\",service=~\"pocket-fr-1@docker|pocket-fr-2@docker\"}[1m])",
"interval": "",
"legendFormat": "{{ code }} {{ method }} {{ service }}",
"refId": "A"
}
],
"title": "Request duration",
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "P00A23F4F516FCA75"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 0,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "auto",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 8,
"w": 8,
"x": 16,
"y": 8
},
"id": 3,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single"
}
},
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "P00A23F4F516FCA75"
},
"exemplar": true,
"expr": "histogram_quantile(0.9, sum by (le) (rate(traefik_service_request_duration_seconds_bucket{instance=\"traefik:8082\",service=~\"pocket-fr-1@docker|pocket-fr-2@docker\"}[1m])))",
"interval": "",
"legendFormat": "",
"refId": "A"
}
],
"title": "Request duration",
"type": "timeseries"
},
{
"datasource": {
"type": "prometheus",
"uid": "P00A23F4F516FCA75"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "palette-classic"
},
"custom": {
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 0,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"lineInterpolation": "linear",
"lineWidth": 1,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "auto",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "off"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 6,
"w": 8,
"x": 0,
"y": 16
},
"id": 5,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom"
},
"tooltip": {
"mode": "single"
}
},
"pluginVersion": "8.3.3",
"targets": [
{
"datasource": {
"type": "prometheus",
"uid": "P00A23F4F516FCA75"
},
"exemplar": true,
"expr": "sum(increase(traefik_service_request_duration_seconds_sum{instance=\"traefik:8082\",service=~\"pocket-fr-2@docker\"}[1m])) by (method)",
"interval": "",
"legendFormat": "pokt-fr-1 {{ method }}",
"refId": "A"
},
{
"datasource": {
"type": "prometheus",
"uid": "P00A23F4F516FCA75"
},
"exemplar": true,
"expr": "sum(increase(traefik_service_request_duration_seconds_sum{instance=\"traefik:8082\",service=~\"pocket-fr-1@docker\"}[1m])) by (method)",
"hide": false,
"interval": "",
"legendFormat": "pokt-fr-1 {{ method }}",
"refId": "B"
}
],
"title": "Sum Request",
"type": "timeseries"
}
],
"refresh": "",
"schemaVersion": 34,
"style": "dark",
"tags": [],
"templating": {
"list": []
},
"time": {
"from": "now-7d",
"to": "now"
},
"timepicker": {},
"timezone": "",
"title": "traefik",
"uid": "eE3572Jnk",
"version": 17,
"weekStart": ""
}

View File

@@ -1,13 +0,0 @@
apiVersion: 1
providers:
- name: 'basic'
orgId: 1
folder: 'basic'
type: file
disableDeletion: false
editable: true
allowUiUpdates: true
options:
path: /etc/grafana/provisioning/dashboards
foldersFromFilesStructure: true

View File

@@ -1,74 +0,0 @@
apiVersion: 1
datasources:
- name: rpc-de-01
type: prometheus
access: proxy
orgId: 1
url: http://10.13.13.4:9090
basicAuth: false
isDefault: false
editable: true
- name: rpc-de-02
type: prometheus
access: proxy
orgId: 1
url: http://10.13.13.6:9090
basicAuth: false
isDefault: false
editable: true
- name: rpc-fi-01
type: prometheus
access: proxy
orgId: 1
url: http://10.13.13.5:9090
basicAuth: false
isDefault: false
editable: true
- name: rpc-fi-01
type: prometheus
access: proxy
orgId: 1
url: http://10.13.13.5:9090
basicAuth: false
isDefault: false
editable: true
- name: pokt-fr-1
type: prometheus
access: proxy
orgId: 1
url: http://10.13.13.10:9090
basicAuth: false
isDefault: false
editable: true
- name: pokt-lt-1
type: prometheus
access: proxy
orgId: 1
url: http://10.13.13.3:9090
basicAuth: false
isDefault: false
editable: true
- name: harmony-fr-1
type: prometheus
access: proxy
orgId: 1
url: http://10.13.13.11:9090
basicAuth: false
isDefault: false
editable: true
- name: moonbeam-lt-01
type: prometheus
access: proxy
orgId: 1
url: http://10.13.13.2:9090
basicAuth: false
isDefault: false
editable: true

View File

@@ -1,25 +0,0 @@
#!/bin/bash
# $1 = Virtual Service IP (VIP)
# $2 = Virtual Service Port (VPT)
# $3 = Real Server IP (RIP)
# $4 = Real Server Port (RPT)
# $5 = Check Source IP
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
VIP=$1
VPT=$2
RIP=$3
RPT=$4
# RPT=8545
# Run curl with appropriate options
curl -s -X POST -H "Content-Type: application/json" -m 2 -d '{"jsonrpc":"2.0","method":"eth_syncing","params": [],"id":1}' http://$RIP:$RPT/avalanche 2>/dev/null | jq '.result' -r | grep -q false
exit1=$?
peers=$(curl -s -X POST -H "Content-Type: application/json" -m 2 -d '{"jsonrpc":"2.0","method":"net_peerCount","params": [],"id":1}' http://$RIP:$RPT/avalanche 2>/dev/null | jq '.result' -r)
# If any of the above tests failed, then exit 1.
if [[ "$exit1" -ne 0 ]]; then exit 1; fi
if [[ `printf "%d" $peers` == "0" || `printf "%d" $peers` == "1" ]]; then exit 1; fi
exit 0

View File

@@ -1,25 +0,0 @@
#!/bin/bash
# $1 = Virtual Service IP (VIP)
# $2 = Virtual Service Port (VPT)
# $3 = Real Server IP (RIP)
# $4 = Real Server Port (RPT)
# $5 = Check Source IP
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
VIP=$1
VPT=$2
RIP=$3
RPT=$4
# RPT=8545
# Run curl with appropriate options
curl -s -X POST -H "Content-Type: application/json" -m 2 -d '{"jsonrpc":"2.0","method":"eth_syncing","params": [],"id":1}' http://$RIP:$RPT/erigon 2>/dev/null | jq '.result' -r | grep -q false
exit1=$?
peers=$(curl -s -X POST -H "Content-Type: application/json" -m 2 -d '{"jsonrpc":"2.0","method":"net_peerCount","params": [],"id":1}' http://$RIP:$RPT/erigon 2>/dev/null | jq '.result' -r)
# If any of the above tests failed, then exit 1.
if [[ "$exit1" -ne 0 ]]; then exit 1; fi
if [[ `printf "%d" $peers` == "0" || `printf "%d" $peers` == "1" ]]; then exit 1; fi
exit 0

View File

@@ -1,25 +0,0 @@
#!/bin/bash
# $1 = Virtual Service IP (VIP)
# $2 = Virtual Service Port (VPT)
# $3 = Real Server IP (RIP)
# $4 = Real Server Port (RPT)
# $5 = Check Source IP
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
VIP=$1
VPT=$2
RIP=$3
RPT=$4
# RPT=8545
# Run curl with appropriate options
curl -s -X POST -H "Content-Type: application/json" -m 2 -d '{"jsonrpc":"2.0","method":"eth_syncing","params": [],"id":1}' http://$RIP:$RPT/geth 2>/dev/null | jq '.result' -r | grep -q false
exit1=$?
peers=$(curl -s -X POST -H "Content-Type: application/json" -m 2 -d '{"jsonrpc":"2.0","method":"net_peerCount","params": [],"id":1}' http://$RIP:$RPT/geth 2>/dev/null | jq '.result' -r)
# If any of the above tests failed, then exit 1.
if [[ "$exit1" -ne 0 ]]; then exit 1; fi
if [[ `printf "%d" $peers` == "0" || `printf "%d" $peers` == "1" ]]; then exit 1; fi
exit 0

View File

@@ -1,25 +0,0 @@
#!/bin/bash
# $1 = Virtual Service IP (VIP)
# $2 = Virtual Service Port (VPT)
# $3 = Real Server IP (RIP)
# $4 = Real Server Port (RPT)
# $5 = Check Source IP
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
VIP=$1
VPT=$2
RIP=$3
RPT=$4
# RPT=8545
# Run curl with appropriate options
curl -s -X POST -H "Content-Type: application/json" -m 2 -d '{"jsonrpc":"2.0","method":"eth_syncing","params": [],"id":1}' http://$RIP:$RPT/goerli 2>/dev/null | jq '.result' -r | grep -q false
exit1=$?
peers=$(curl -s -X POST -H "Content-Type: application/json" -m 2 -d '{"jsonrpc":"2.0","method":"net_peerCount","params": [],"id":1}' http://$RIP:$RPT/goerli 2>/dev/null | jq '.result' -r)
# If any of the above tests failed, then exit 1.
if [[ "$exit1" -ne 0 ]]; then exit 1; fi
if [[ `printf "%d" $peers` == "0" || `printf "%d" $peers` == "1" ]]; then exit 1; fi
exit 0

View File

@@ -1,25 +0,0 @@
#!/bin/bash
# $1 = Virtual Service IP (VIP)
# $2 = Virtual Service Port (VPT)
# $3 = Real Server IP (RIP)
# $4 = Real Server Port (RPT)
# $5 = Check Source IP
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
VIP=$1
VPT=$2
RIP=$3
RPT=$4
# RPT=8545
# Run curl with appropriate options
curl -s -X POST -H "Content-Type: application/json" -m 2 -d '{"jsonrpc":"2.0","method":"eth_syncing","params": [],"id":1}' http://$RIP:$RPT/rinkeby 2>/dev/null | jq '.result' -r | grep -q false
exit1=$?
peers=$(curl -s -X POST -H "Content-Type: application/json" -m 2 -d '{"jsonrpc":"2.0","method":"net_peerCount","params": [],"id":1}' http://$RIP:$RPT/rinkeby 2>/dev/null | jq '.result' -r)
# If any of the above tests failed, then exit 1.
if [[ "$exit1" -ne 0 ]]; then exit 1; fi
if [[ `printf "%d" $peers` == "0" || `printf "%d" $peers` == "1" ]]; then exit 1; fi
exit 0

View File

@@ -1,25 +0,0 @@
#!/bin/bash
# $1 = Virtual Service IP (VIP)
# $2 = Virtual Service Port (VPT)
# $3 = Real Server IP (RIP)
# $4 = Real Server Port (RPT)
# $5 = Check Source IP
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
VIP=$1
VPT=$2
RIP=$3
RPT=$4
# RPT=8545
# Run curl with appropriate options
curl -s -X POST -H "Content-Type: application/json" -m 2 -d '{"jsonrpc":"2.0","method":"eth_syncing","params": [],"id":1}' http://$RIP:$RPT/ropsten 2>/dev/null | jq '.result' -r | grep -q false
exit1=$?
peers=$(curl -s -X POST -H "Content-Type: application/json" -m 2 -d '{"jsonrpc":"2.0","method":"net_peerCount","params": [],"id":1}' http://$RIP:$RPT/ropsten 2>/dev/null | jq '.result' -r)
# If any of the above tests failed, then exit 1.
if [[ "$exit1" -ne 0 ]]; then exit 1; fi
if [[ `printf "%d" $peers` == "0" || `printf "%d" $peers` == "1" ]]; then exit 1; fi
exit 0

View File

@@ -1,19 +0,0 @@
Place validator.key and validator.pass into ./keyfiles
```
docker-compose up -d
```
Check if Bootstrap is working.
```
docker logs -f pokt_dokt_harmony-mainnet_1
```
Logs are at:
```
harmony/log
```
HARMONY QUERY
```
curl --location --request POST 'https://$DOMAIN/' --header 'Content-Type: application/json' --data-raw '{"jsonrpc": "2.0", "method": "hmy_latestHeader", "params": [], "id": 1}'
```
[HMY CLI Flags](https://docs.harmony.one/home/network/validators/node-setup/installing-updating/installing-node/using-binary#option-2-setup-using-flag-parsing)

View File

@@ -1,156 +0,0 @@
{
"tendermint_config": {
"RootDir": "/home/app/.pocket",
"ProxyApp": "tcp://127.0.0.1:26658",
"Moniker": "stakesquid",
"FastSyncMode": true,
"DBBackend": "goleveldb",
"LevelDBOptions": {
"block_cache_capacity": 83886,
"block_cache_evict_removed": false,
"block_size": 4096,
"disable_buffer_pool": true,
"open_files_cache_capacity": -1,
"write_buffer": 838860
},
"DBPath": "data",
"LogLevel": "*:info, *:error",
"LogFormat": "plain",
"Genesis": "config/genesis.json",
"PrivValidatorKey": "priv_val_key.json",
"PrivValidatorState": "priv_val_state.json",
"PrivValidatorListenAddr": "",
"NodeKey": "node_key.json",
"ABCI": "socket",
"ProfListenAddress": "",
"FilterPeers": false,
"RPC": {
"RootDir": "/home/app/.pocket",
"ListenAddress": "tcp://127.0.0.1:26657",
"CORSAllowedOrigins": [],
"CORSAllowedMethods": [
"HEAD",
"GET",
"POST"
],
"CORSAllowedHeaders": [
"Origin",
"Accept",
"Content-Type",
"X-Requested-With",
"X-Server-Time"
],
"GRPCListenAddress": "",
"GRPCMaxOpenConnections": 2500,
"Unsafe": false,
"MaxOpenConnections": 2500,
"MaxSubscriptionClients": 100,
"MaxSubscriptionsPerClient": 5,
"TimeoutBroadcastTxCommit": 10000000000,
"MaxBodyBytes": 1000000,
"MaxHeaderBytes": 1048576,
"TLSCertFile": "",
"TLSKeyFile": ""
},
"P2P": {
"RootDir": "/home/app/.pocket",
"ListenAddress": "tcp://0.0.0.0:26656",
"ExternalAddress": "",
"Seeds": "",
"PersistentPeers": "",
"UPNP": false,
"AddrBook": "config/addrbook.json",
"AddrBookStrict": false,
"MaxNumInboundPeers": 14,
"MaxNumOutboundPeers": 7,
"UnconditionalPeerIDs": "",
"PersistentPeersMaxDialPeriod": 0,
"FlushThrottleTimeout": 100000000,
"MaxPacketMsgPayloadSize": 1024,
"SendRate": 5120000,
"RecvRate": 5120000,
"PexReactor": true,
"SeedMode": false,
"PrivatePeerIDs": "",
"AllowDuplicateIP": true,
"HandshakeTimeout": 20000000000,
"DialTimeout": 3000000000,
"TestDialFail": false,
"TestFuzz": false,
"TestFuzzConfig": {
"Mode": 0,
"MaxDelay": 3000000000,
"ProbDropRW": 0.2,
"ProbDropConn": 0,
"ProbSleep": 0
}
},
"Mempool": {
"RootDir": "/home/app/.pocket",
"Recheck": true,
"Broadcast": true,
"WalPath": "",
"Size": 9000,
"MaxTxsBytes": 1073741824,
"CacheSize": 9000,
"MaxTxBytes": 1048576
},
"FastSync": {
"Version": "v1"
},
"Consensus": {
"RootDir": "/home/app/.pocket",
"WalPath": "data/cs.wal/wal",
"TimeoutPropose": 120000000000,
"TimeoutProposeDelta": 10000000000,
"TimeoutPrevote": 60000000000,
"TimeoutPrevoteDelta": 10000000000,
"TimeoutPrecommit": 60000000000,
"TimeoutPrecommitDelta": 10000000000,
"TimeoutCommit": 780000000000,
"SkipTimeoutCommit": false,
"CreateEmptyBlocks": true,
"CreateEmptyBlocksInterval": 900000000000,
"PeerGossipSleepDuration": 30000000000,
"PeerQueryMaj23SleepDuration": 20000000000
},
"TxIndex": {
"Indexer": "kv",
"IndexKeys": "tx.hash,tx.height,message.sender,transfer.recipient",
"IndexAllKeys": false
},
"Instrumentation": {
"Prometheus": true,
"PrometheusListenAddr": ":26660",
"MaxOpenConnections": 3,
"Namespace": "tendermint"
}
},
"pocket_config": {
"data_dir": "/home/app/.pocket",
"genesis_file": "genesis.json",
"chains_name": "chains.json",
"session_db_name": "session",
"evidence_db_name": "pocket_evidence",
"tendermint_uri": "tcp://localhost:26657",
"keybase_name": "pocket-keybase",
"rpc_port": "8081",
"client_block_sync_allowance": 10,
"max_evidence_cache_entries": 500,
"max_session_cache_entries": 500,
"json_sort_relay_responses": true,
"remote_cli_url": "http://localhost:8081",
"user_agent": "",
"validator_cache_size": 10000,
"application_cache_size": 10000,
"rpc_timeout": 30000,
"pocket_prometheus_port": "8083",
"prometheus_max_open_files": 3,
"max_claim_age_for_proof_retry": 32,
"proof_prevalidation": false,
"ctx_cache_size": 20,
"abci_logging": false,
"show_relay_errors": true,
"disable_tx_events": true
}
}

View File

@@ -1,69 +0,0 @@
global:
scrape_interval: 15s
evaluation_interval: 15s
# Attach these labels to any time series or alerts when communicating with
# external systems (federation, remote storage, Alertmanager).
external_labels:
monitor: 'docker-host-alpha'
# Load and evaluate rules in this file every 'evaluation_interval' seconds.
rule_files:
- "alert.rules"
# A scrape configuration containing exactly one endpoint to scrape.
scrape_configs:
- job_name: 'nodeexporter'
scrape_interval: 5s
static_configs:
- targets: ['nodeexporter:9100']
- job_name: 'cadvisor'
scrape_interval: 5s
static_configs:
- targets: ['cadvisor:8080']
- job_name: 'prometheus'
scrape_interval: 10s
static_configs:
- targets: ['localhost:9090']
- job_name: 'pushgateway'
scrape_interval: 10s
honor_labels: true
static_configs:
- targets: ['pushgateway:9091']
- job_name: 'pocket-lt-1'
scrape_interval: 10s
honor_labels: true
static_configs:
- targets: ['pocket-lt-1:8083']
- targets: ['pocket-lt-1:26660']
- job_name: 'pocket-lt-2'
scrape_interval: 10s
honor_labels: true
static_configs:
- targets: ['pocket-lt-2:8083']
- targets: ['pocket-lt-2:26660']
- job_name: 'pocket-lt-3'
scrape_interval: 10s
honor_labels: true
static_configs:
- targets: ['pocket-lt-3:8083']
- targets: ['pocket-lt-3:26660']
- job_name: 'pocket-lt-4'
scrape_interval: 10s
honor_labels: true
static_configs:
- targets: ['pocket-lt-4:8083']
- targets: ['pocket-lt-4:26660']
- job_name: 'traefik'
scrape_interval: 10s
honor_labels: true
static_configs:
- targets: ['traefik:8082']

View File

@@ -1,85 +0,0 @@
global:
scrape_interval: 15s
evaluation_interval: 15s
# Attach these labels to any time series or alerts when communicating with
# external systems (federation, remote storage, Alertmanager).
external_labels:
monitor: 'docker-host-alpha'
# Load and evaluate rules in this file every 'evaluation_interval' seconds.
rule_files:
- "alert.rules"
# A scrape configuration containing exactly one endpoint to scrape.
scrape_configs:
- job_name: 'nodeexporter'
scrape_interval: 5s
static_configs:
- targets: ['nodeexporter:9100']
- job_name: 'cadvisor'
scrape_interval: 5s
static_configs:
- targets: ['cadvisor:8080']
- job_name: 'prometheus'
scrape_interval: 10s
static_configs:
- targets: ['localhost:9090']
- job_name: 'pushgateway'
scrape_interval: 10s
honor_labels: true
static_configs:
- targets: ['pushgateway:9091']
- job_name: 'traefik'
scrape_interval: 10s
honor_labels: true
static_configs:
- targets: ['traefik:8082']
- job_name: 'geth-mainnet'
scrape_interval: 10s
static_configs:
- targets: ['geth-mainnet:6060']
relabel_configs:
- source_labels: [__address__]
action: replace
regex: (.*)
replacement: $1
target_label: geth_mainnet
- job_name: 'geth-goerli'
scrape_interval: 10s
static_configs:
- targets: ['geth-goerli:6060']
relabel_configs:
- source_labels: [__address__]
action: replace
regex: (.*)
replacement: $1
target_label: geth_goerli
- job_name: 'geth-rinkeby'
scrape_interval: 10s
static_configs:
- targets: ['geth-rinkeby:6060']
relabel_configs:
- source_labels: [__address__]
action: replace
regex: (.*)
replacement: $1
target_label: geth_rinkeby
- job_name: 'geth-ropsten'
scrape_interval: 10s
static_configs:
- targets: ['geth-ropsten:6060']
relabel_configs:
- source_labels: [__address__]
action: replace
regex: (.*)
replacement: $1
target_label: geth_ropsten

View File

@@ -1,55 +0,0 @@
global:
scrape_interval: 15s
evaluation_interval: 15s
# Attach these labels to any time series or alerts when communicating with
# external systems (federation, remote storage, Alertmanager).
external_labels:
monitor: 'docker-host-alpha'
# Load and evaluate rules in this file every 'evaluation_interval' seconds.
rule_files:
- "alert.rules"
# A scrape configuration containing exactly one endpoint to scrape.
scrape_configs:
- job_name: 'nodeexporter'
scrape_interval: 5s
static_configs:
- targets: ['nodeexporter:9100']
- job_name: 'cadvisor'
scrape_interval: 5s
static_configs:
- targets: ['cadvisor:8080']
- job_name: 'prometheus'
scrape_interval: 10s
static_configs:
- targets: ['localhost:9090']
- job_name: 'pushgateway'
scrape_interval: 10s
honor_labels: true
static_configs:
- targets: ['pushgateway:9091']
- job_name: 'pocket-fr-1'
scrape_interval: 10s
honor_labels: true
static_configs:
- targets: ['pocket-fr-1:8083']
- targets: ['pocket-fr-1:26660']
- job_name: 'pocket-fr-2'
scrape_interval: 10s
honor_labels: true
static_configs:
- targets: ['pocket-fr-2:8083']
- targets: ['pocket-fr-2:26660']
- job_name: 'traefik'
scrape_interval: 10s
honor_labels: true
static_configs:
- targets: ['traefik:8082']

View File

@@ -1,18 +0,0 @@
#!/bin/bash
source .env
export DOMAIN=$RPC_DOMAIN
chown -R root:root chains bootstrap_skript
originalfile="chains/chains_mainnet.json"
tmpfile=$(mktemp)
cp --attributes-only --preserve $originalfile $tmpfile
cat $originalfile | envsubst > $tmpfile && mv $tmpfile $originalfile
originalfile="chains/chains_testnet.json"
tmpfile=$(mktemp)
cp --attributes-only --preserve $originalfile $tmpfile
cat $originalfile | envsubst > $tmpfile && mv $tmpfile $originalfile
chown -R 1005:1001 chains bootstrap_skript pokt

View File

@@ -1,22 +0,0 @@
#!/bin/bash
# Only geth right now
declare -A chain_arr
chain_arr[goerli]="0026"
chain_arr[rinkeby]="0025"
chain_arr[ropsten]="0023"
chain_arr[mainnet]="0021"
chain_arr[harmony]="040"
chain_arr[xdai]="0027"
chain_arr[erigon-archival-trace]="0028"
chain_arr[erigon-mainnet]="0021"
chain_arr[erigon-archive]="0022"
for i in ${!chain_arr[@]}; do
echo curl ${i} ${chain_arr[${i}]}
curl -s -X POST --data '{"relay_network_id":"'${chain_arr[${i}]}'","payload":{"data":"{\"jsonrpc\":\"2.0\",\"method\":\"eth_syncing\",\"params\":[],\"id\":1}","method":"POST","path":"","headers":{}}}' http://127.0.0.1:8081/v1/client/sim | awk "{print $2}"
done
POKT="0001"
curl -X POST --data '{"relay_network_id":"'$POKT'","payload":{"data":"{}","method":"POST","path":"v1/query/height","headers":{}}}' http://localhost:8081/v1/client/sim
echo \n

View File

@@ -1,16 +0,0 @@
#!/bin/bash
# Only geth right now
declare -A chain_arr
chain_arr[goerli]="0020"
chain_arr[rinkeby]="0022"
chain_arr[ropsten]="0023"
for i in ${!chain_arr[@]}; do
echo curl ${i} ${chain_arr[${i}]}
curl -s -X POST --data '{"relay_network_id":"'${chain_arr[${i}]}'","payload":{"data":"{\"jsonrpc\":\"2.0\",\"method\":\"eth_syncing\",\"params\":[],\"id\":1}","method":"POST","path":"","headers":{}}}' http://127.0.0.1:8081/v1/client/sim | awk "{print $2}"
done
POKT="0002"
curl -X POST --data '{"relay_network_id":"'$POKT'","payload":{"data":"{}","method":"POST","path":"v1/query/height","headers":{}}}' http://localhost:8081/v1/client/sim
echo \n

View File

@@ -1,61 +0,0 @@
{
"Init": {
"WebSocketsEnabled": false,
"StoreReceipts": true,
"IsMining": false,
"ChainSpecPath": "/xdai.json",
"GenesisHash": "0x4f1dd23188aab3a76b463e4af801b52b1248ef073c648cbdc4c9333d3da79756",
"BaseDbPath": "/nethermind_db/xdai",
"LogFileName": "xdai.logs.txt",
"MemoryHint": 768000000
},
"Network": {
"DiscoveryPort": 40444,
"P2PPort": 40444
},
"TxPool": {
"Size": 2048
},
"JsonRpc": {
"Enabled": true,
"Timeout": 20000,
"Host": "0.0.0.0",
"Port": 8545,
"WebSocketsPort": 8546
},
"Db": {
"CacheIndexAndFilterBlocks": false
},
"Sync": {
"FastSync": true,
"PivotNumber": 18110000,
"PivotHash": "0xb06aa318f3968e3ec3ee9a5d67562bc6a470cacb76497d433f31da65f6abdf80",
"PivotTotalDifficulty": "6162513664938195573321714140589322309123831870",
"FastBlocks": true,
"UseGethLimitsInFastBlocks": false,
"FastSyncCatchUpHeightDelta": 10000000000
},
"EthStats": {
"Enabled": false,
"Server": "ws://localhost:3000/api",
"Name": "Nethermind xDai",
"Secret": "secret",
"Contact": "hello@nethermind.io"
},
"Metrics": {
"NodeName": "xDai",
"Enabled": false,
"PushGatewayUrl": "http://localhost:9091/metrics",
"IntervalSeconds": 5
},
"Aura": {
"ForceSealing": true
},
"Bloom": {
"IndexLevelBucketSizes": [
16,
16,
16
]
}
}

View File

@@ -1,282 +0,0 @@
{
"name": "DaiChain",
"engine": {
"authorityRound": {
"params": {
"stepDuration": 5,
"blockReward": "0x0",
"maximumUncleCountTransition": 0,
"maximumUncleCount": 0,
"validators": {
"multi": {
"0": {
"list": [
"0xcace5b3c29211740e595850e80478416ee77ca21"
]
},
"1300": {
"safeContract": "0x22e1229a2c5b95a60983b5577f745a603284f535"
},
"9186425": {
"contract": "0xB87BE9f7196F2AE084Ca1DE6af5264292976e013"
}
}
},
"blockRewardContractAddress": "0x867305d19606aadba405ce534e303d0e225f9556",
"blockRewardContractTransition": 1310,
"blockRewardContractTransitions": {
"9186425": "0x481c034c6d9441db23Ea48De68BCAe812C5d39bA"
},
"randomnessContractAddress": {
"9186425": "0x5870b0527DeDB1cFBD9534343Feda1a41Ce47766"
},
"posdaoTransition": 9186425
}
}
},
"params": {
"gasLimitBoundDivisor": "0x400",
"maximumExtraDataSize": "0x20",
"minGasLimit": "0x1388",
"networkID": "100",
"eip140Transition": "0x0",
"eip211Transition": "0x0",
"eip214Transition": "0x0",
"eip658Transition": "0x0",
"eip145Transition": 1604400,
"eip1014Transition": 1604400,
"eip1052Transition": 1604400,
"eip1283Transition": 1604400,
"eip1283DisableTransition": 2508800,
"eip152Transition": 7298030,
"eip1108Transition": 7298030,
"eip1283ReenableTransition": 7298030,
"eip1344Transition": 7298030,
"eip1706Transition": 7298030,
"eip1884Transition": 7298030,
"eip2028Transition": 7298030,
"eip2565Transition": 16101500,
"eip2929Transition": 16101500,
"eip2930Transition": 16101500,
"eip3198Transition": 19040000,
"eip3529Transition": 19040000,
"eip3541Transition": 19040000,
"eip1559Transition": 19040000,
"eip1559BaseFeeMaxChangeDenominator": "0x8",
"eip1559ElasticityMultiplier": "0x2",
"eip1559BaseFeeInitialValue": "0x3b9aca00",
"eip1559FeeCollector": "0x6BBe78ee9e474842Dbd4AB4987b3CeFE88426A92",
"eip1559FeeCollectorTransition": 19040000,
"registrar": "0x6B53721D4f2Fb9514B85f5C49b197D857e36Cf03",
"transactionPermissionContract": "0x7Dd7032AA75A37ea0b150f57F899119C7379A78b",
"transactionPermissionContractTransition": 9186425
},
"genesis": {
"seal": {
"authorityRound": {
"step": "0x0",
"signature": "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
}
},
"difficulty": "0x20000",
"gasLimit": "0x989680"
},
"nodes": [
"enode://a20c13b1712d32028a277958346a5c29350e8a3e32d40de43a62cb35baa99f96f274960591e46be5a643be7ee77a15d6a4963170460156a77abcf500f0ba0ff0@104.237.150.151:30303",
"enode://f372b16932a4ee5b6be947556bcca1cf57e498267dd78a7a643a87514a0a5ef4f112cb6934aab5775d3e8940ba535e8f53dfa704e162a72970de61e6ef9fd9aa@45.79.158.26:30303",
"enode://fe9720c93e6335b8cacffa10df594c8c166208fa4be8dcb9275788e54111ae88899022fa9c358f2d0029ee57c2223a7fbc97eb06b294422d35ef796a49d87bff@94.237.98.201:30303",
"enode://6d12181aa8527251dd8f9d37a2ff7eadb46f2a90c69f2282352ac7889b105d6b5787a532facee656b29599ee1ee51eb5b1eb01d2a17190e32a6cbe6dfc996828@45.79.158.8:30303",
"enode://389a625160876776946bfea5a6ce4f4c761bd2062cf8e45e510da77595399ee50a802060868d9bf4580431fc2248cadc9ce61826b3513e090bd1cdd4ce11a9d8@161.97.172.191:30303",
"enode://d086bfbe0d15e841e403695c151920459261dd5d5f259858b32727e2bc64d92f48bdad3cc0120703dbb0e2abd2f51c0459cff517bfa16e683ca27018d82a6dcf@66.175.215.67:30303",
"enode://540a0bc258ba93e6fafc238f49eca0a2032b5d40b79c077dc9b9a304fd636af4167b638eb0f80aa455f5da1cf49b76c881f651ed301a1e28d6855a8a3fbe21a0@167.71.174.1:30303",
"enode://1ceea9d3fb22247edf85102f1e78cd31c2f330ace6ac2789c82766a232d56d7c3c1b2aeb504f2f761de754da22e7dfc5bdde3b00b8b98d1d003f6dd81612f8b3@66.175.211.178:30303",
"enode://4175e9ffd9ac9819c9c596a60b7748cc1c1846cf7e8db47ee97f8aa57e42e8cb3dad4201726498d34af94505b2c1429f9d3a508594c521080e8cd1a3fa24a3d5@37.120.245.155:30303",
"enode://b5eba653df9c583238ea238ca7cadf5d2746f1b4da81a8cfb2c1b600f62fe37df000fa5b5292059f74faa6bbf5af01b3b81f99284a1fbd5c0971d74db7dc4a34@66.175.213.149:30303",
"enode://2a8b64e96da7e67e525f04a157a0016b886dfb2d02553501abd0326b7b061aace7e92ad87c1225dc7d261b05e7886391552c812b386451597bff4b040eb43bec@173.212.236.163:30303",
"enode://5f187ae73b07db889c91e8955619b1e6b799696a4b7aab306f7c500a2ec4c7f66dfbea8ac28bde65100653a2fe84b96f2079aed2d61871e06b5a1e32c0f021af@45.79.150.105:30303",
"enode://22e442bf7b7fa9bb5960344ef5aa907b920a931bce83e14620b0378318b7eb73753f7245f0a8252590a71ad9568bcfbb9e5f03bd88ab3feb9c1096227bb8704a@168.119.136.44:30303",
"enode://ef98bc3c9195b9f27312ac646edb6d0096b04c983f93864c30b8f2b20c699ec974a7066cfae090832679e497d23655e0e315a2c96da4a27d75cc4693e6335bba@192.155.90.129:30303",
"enode://de1ab49beedda656976a8fcb01f91ebdb474178fd46e5ce87cf22f0eb90bc3a6721d619ec90c4a6453770a2c24a4bdbc4ef8b8111ffd49f491eb84016a3842d6@54.217.41.94:30303",
"enode://ba04a77c7c8ac0fdd325de91536c33bce3b71095de563aafc72e6ac4111ebf093570c7bdba48b06cc83b0af5596f72fc32563547160e067fcb45a1786b8f7150@45.56.105.53:30303",
"enode://56510b2d296000427e56eb0016d8454998c16347ec2c4ffed84cb82a996707de40ca2b9ea13c8796b4230b4c19ce46f844720ded93135d710b7bbc7352a061d3@50.35.89.213:30304",
"enode://a68b3f3f58ea56dcc70450d371bf0b83363d74cbfdb5f982be00536ae3168aa679c7e7e93bd9ffe34b59527173d73e0ebed0a105c095af2ee16bd1cc66103c80@69.164.215.62:30303",
"enode://e8c7a0db430429bb374c981438c0dbd95e565088a483388aa46d8377a3bd62f02cd83d7e2c7e5fc77606141bfef29d23d4285a7c1d9b7e743cf3029314506df7@80.240.16.221:30303",
"enode://80c8f6f27f80ba91830002a8ca64771f6baf440fd134e88fbecae3a67c8bc58722d624cecbd6439e1a2d28fbd0297d489fdaa40b10c2f3e07fee1913d52b3e30@45.79.185.92:30303",
"enode://da2449aaba873c40c6daf764de55f4b9eae24c4738daec893ef95b6ada96463c6b9624f8e376e1073d21dd820c5bb361e14575121b09bbd7735b6b556ee1b768@67.205.176.117:30303",
"enode://481e43a8e30cdfecfe3159dde960d9e65347c3e8c64dcedea87922df875e4d47a813f53c012920b6754e43cde47302cdfb120fd409b6aa2b47c48e391494c7f5@173.255.233.100:30303",
"enode://90b0a0e74a9a1ad258531b4ceec25587d8b52ff2cfb36206a34bf6ba1a8d21b2abd20da13260102508a2ac67afbeb2d2ab7a5e9d6bea3bce845cd81e655585cc@45.77.110.159:30303",
"enode://6012c883efeee664847a48784459980176a22f31bc98c2aae30011ad7ef0b44011364a0a9ae5eb056db1f052cf3556757bd97485677bbaf1781b131e43204971@69.164.222.63:30303",
"enode://5bc43a57273eb4012b59ce268f986cbeeb5f0f878aa25e3d2d71d9b7ff64029a9dd25a84303f80820a78d83ff3a2c570988d0fc68a17d355a98c20c0784aa14d@8.9.5.108:30303",
"enode://89e046a4f10c64265941789b2e3be900adf5132ced13756aeea126cf59b516445ed8053b600aa764860f1aad552f4f4f3b4250c59b3b8a84ead3d3527c005606@172.104.24.215:30303",
"enode://ab7f6c633ba2dc54795dfd2c739ba7d964f499541c0b8d8ba9d275bd3df1b789470a21a921a469fa515a3dfccc96a434a3fd016a169d88d0043fc6744f34288e@67.205.180.17:30303",
"enode://6674773f7aac78d5527fa90c847dcbca198de4081306406a8fec5c15f7a2e141362344041291dd10d0aafa7706a3d8f21a08b6f6834a5b1aab9cccd8ca35ccee@143.110.226.15:30303",
"enode://0caa2d84aef00d0bc5de6cf9db3e736da245d882ec8f91e201b3e1635960e62cbb2f8bfc57e679ff3e1d53da2773e31df624a56b2f457ecb51d09fdf9970c86b@167.99.4.175:30303",
"enode://7aa4c137b1ec078f2df3c17552e23c7213662819132821ed3aaa42f0212cb889dbb21211f9c5912c68fce577ab7fc99b0a47c0cb469ec0ad29c0acd9ce297659@45.33.84.107:30303",
"enode://e026b1a68e8a19106d14effc0df66050c494e10a6b8a4e9f6fd196d95306d7062d129a8c9510ffdbeaf3fe0154b884c116a0e77aec876c368e507de3420fba05@149.28.32.225:30303",
"enode://0a978bd436b850f61e31778fbbeb3e0182f91bb98a30c073674c741c182611e71842333c098d3db5108f06cd589c3a8341172e34be0421fa66d82f0dd83d8ae1@51.81.244.170:30303",
"enode://75f05df1e5a3094ed2c9df36f122b95852206c52288f777982503946d5b273c7ffd8bb06ad60a0df7a31510906d4090c7bd5fd9bcb04a5b4ac1825a2b7212f32@45.63.18.245:30303"
],
"accounts": {
"0x0000000000000000000000000000000000000005": {
"builtin": {
"name": "modexp",
"pricing": {
"0": {
"price": {
"modexp": {
"divisor": 20
}
}
}
}
}
},
"0x0000000000000000000000000000000000000006": {
"builtin": {
"name": "alt_bn128_add",
"pricing": {
"0": {
"price": {
"alt_bn128_const_operations": {
"price": 500
}
}
},
"7298030": {
"info": "Istanbul HF",
"price": {
"alt_bn128_const_operations": {
"price": 150
}
}
}
}
}
},
"0x0000000000000000000000000000000000000007": {
"builtin": {
"name": "alt_bn128_mul",
"pricing": {
"0": {
"price": {
"alt_bn128_const_operations": {
"price": 40000
}
}
},
"7298030": {
"info": "Istanbul HF",
"price": {
"alt_bn128_const_operations": {
"price": 6000
}
}
}
}
}
},
"0x0000000000000000000000000000000000000008": {
"builtin": {
"name": "alt_bn128_pairing",
"pricing": {
"0": {
"price": {
"alt_bn128_pairing": {
"base": 100000,
"pair": 80000
}
}
},
"7298030": {
"info": "Istanbul HF",
"price": {
"alt_bn128_pairing": {
"base": 45000,
"pair": 34000
}
}
}
}
}
},
"0x0000000000000000000000000000000000000009": {
"builtin": {
"name": "blake2_f",
"pricing": {
"7298030": {
"info": "Istanbul HF",
"price": {
"blake2_f": {
"gas_per_round": 1
}
}
}
}
}
},
"0x0000000000000000000000000000000000000001": {
"balance": "1",
"builtin": {
"name": "ecrecover",
"pricing": {
"0": {
"price": {
"linear": {
"base": 3000,
"word": 0
}
}
}
}
}
},
"0x0000000000000000000000000000000000000002": {
"balance": "1",
"builtin": {
"name": "sha256",
"pricing": {
"0": {
"price": {
"linear": {
"base": 60,
"word": 12
}
}
}
}
}
},
"0x0000000000000000000000000000000000000003": {
"balance": "1",
"builtin": {
"name": "ripemd160",
"pricing": {
"0": {
"price": {
"linear": {
"base": 600,
"word": 120
}
}
}
}
}
},
"0x0000000000000000000000000000000000000004": {
"balance": "1",
"builtin": {
"name": "identity",
"pricing": {
"0": {
"price": {
"linear": {
"base": 15,
"word": 3
}
}
}
}
}
}
}
}