Initial commit: add .gitignore and README

This commit is contained in:
defiQUG
2026-02-09 21:51:48 -08:00
commit d4ba3d45e5
174 changed files with 32756 additions and 0 deletions

327
docker-compose.yml Normal file
View File

@@ -0,0 +1,327 @@
x-besu-def:
restart: on-failure
image: hyperledger/besu:${BESU_VERSION:-latest}
env_file: &id001
- ./config/besu/.env
entrypoint: &id002
- /bin/bash
- -c
- '
cp "/config/${BESU_CONS_ALGO:-QBFT}genesis.json" /config/genesis.json
/opt/besu/bin/besu \
--config-file=/config/config.toml \
--p2p-host=$$(hostname -i) \
--rpc-http-api=EEA,WEB3,ETH,NET,TRACE,DEBUG,ADMIN,TXPOOL,PERM,${BESU_CONS_ALGO:-QBFT}
\
--rpc-ws-api=EEA,WEB3,ETH,NET,TRACE,DEBUG,ADMIN,TXPOOL,PERM,${BESU_CONS_ALGO:-QBFT}
;
'
x-blockscout-ref:
image: consensys/blockscout:v4.1.5-beta
container_name: blockscout
restart: 'no'
environment: &id005
- PORT=4000
- ECTO_USE_SSL=false
- DATABASE_URL=postgresql://postgres:postgres@blockscoutpostgres:5432/postgres?ssl=false
- POSTGRES_PASSWORD=postgres
- POSTGRES_USER=postgres
- NETWORK=quickstart
- NETWORK=Dev Quickstart
- SUBNETWORK=Quorum
- CHAIN_ID=1337
- COIN=ETH
- ETHEREUM_JSONRPC_VARIANT=besu
- ETHEREUM_JSONRPC_TRANSPORT=http
- ETHEREUM_JSONRPC_HTTP_URL=http://rpcnode:8545
- ETHEREUM_JSONRPC_TRACE_URL=http://rpcnode:8545
- ETHEREUM_JSONRPC_WS_URL=ws://rpcnode:8546
entrypoint: &id006
- /bin/sh
- -c
- 'cd /opt/app/;
echo $$MIX_ENV && mix do ecto.create, ecto.migrate; mix phx.server;
'
depends_on: &id007
- blockscoutpostgres
links: &id008
- blockscoutpostgres
ports: &id009
- 26000:4000
x-blockscoutpostgres-ref:
image: postgres:13.6-alpine
restart: on-failure
container_name: blockscoutpostgres
environment: &id010
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=postgres
- POSTGRES_HOST_AUTH_METHOD=trust
volumes: &id011
- blockscoutpostgres:/var/lib/postgresql/data
ports: &id012
- 5432
healthcheck: &id013
test:
- CMD-SHELL
- pg_isready -U postgres
interval: 5s
timeout: 10s
retries: 5
x-ethsignerProxy-def:
image: consensys/ethsigner:${ETHSIGNER_VERSION:-latest}
command: &id004
- --chain-id=1337
- --http-listen-host=0.0.0.0
- --downstream-http-port=8545
- --downstream-http-host=rpcnode
- file-based-signer
- -k
- /opt/ethsigner/keyfile
- -p
- /opt/ethsigner/passwordfile
ports:
- 8545
services:
validator1:
restart: on-failure
image: hyperledger/besu:${BESU_VERSION:-latest}
env_file: *id001
entrypoint: *id002
ports:
- 21001:8545/tcp
- 30303
- 9545
environment:
- OTEL_RESOURCE_ATTRIBUTES=service.name=validator1,service.version=${BESU_VERSION:-latest}
labels:
- consensus=besu
volumes:
- ./config/besu/:/config
- ./config/nodes/validator1:/opt/besu/keys
- ./logs/besu:/tmp/besu
networks:
quorum-dev-quickstart:
ipv4_address: 172.16.239.11
dns: &id003
- 8.8.8.8
- 8.8.4.4
- 1.1.1.1
validator2:
restart: on-failure
image: hyperledger/besu:${BESU_VERSION:-latest}
env_file: *id001
entrypoint: *id002
ports:
- 21002:8545/tcp
- 30303
- 9545
environment:
- OTEL_RESOURCE_ATTRIBUTES=service.name=validator2,service.version=${BESU_VERSION:-latest}
labels:
- consensus=besu
volumes:
- ./config/besu/:/config
- ./config/nodes/validator2:/opt/besu/keys
- ./logs/besu:/tmp/besu
depends_on:
- validator1
networks:
quorum-dev-quickstart:
ipv4_address: 172.16.239.12
dns: *id003
validator3:
restart: on-failure
image: hyperledger/besu:${BESU_VERSION:-latest}
env_file: *id001
entrypoint: *id002
ports:
- 21003:8545/tcp
- 30303
- 9545
environment:
- OTEL_RESOURCE_ATTRIBUTES=service.name=validator3,service.version=${BESU_VERSION:-latest}
labels:
- consensus=besu
volumes:
- ./config/besu/:/config
- ./config/nodes/validator3:/opt/besu/keys
- ./logs/besu:/tmp/besu
depends_on:
- validator1
networks:
quorum-dev-quickstart:
ipv4_address: 172.16.239.13
dns: *id003
validator4:
restart: on-failure
image: hyperledger/besu:${BESU_VERSION:-latest}
env_file: *id001
entrypoint: *id002
ports:
- 21004:8545/tcp
- 30303
- 9545
environment:
- OTEL_RESOURCE_ATTRIBUTES=service.name=validator4,service.version=${BESU_VERSION:-latest}
labels:
- consensus=besu
volumes:
- ./config/besu/:/config
- ./config/nodes/validator4:/opt/besu/keys
- ./logs/besu:/tmp/besu
depends_on:
- validator1
networks:
quorum-dev-quickstart:
ipv4_address: 172.16.239.14
dns: *id003
rpcnode:
restart: on-failure
image: hyperledger/besu:${BESU_VERSION:-latest}
env_file: *id001
entrypoint: *id002
container_name: rpcnode
environment:
- OTEL_RESOURCE_ATTRIBUTES=service.name=rpcnode,service.version=${BESU_VERSION:-latest}
volumes:
- ./config/besu/:/config
- ./config/nodes/rpcnode:/opt/besu/keys
- ./logs/besu:/tmp/besu
depends_on:
- validator1
ports:
- 8545:8545/tcp
- 8546:8546/tcp
networks:
quorum-dev-quickstart:
ipv4_address: 172.16.239.15
dns: *id003
ethsignerProxy:
image: consensys/ethsigner:${ETHSIGNER_VERSION:-latest}
command: *id004
ports:
- 18545:8545/tcp
volumes:
- ./config/ethsigner/password:/opt/ethsigner/passwordfile
- ./config/ethsigner/key:/opt/ethsigner/keyfile
depends_on:
- validator1
- rpcnode
networks:
quorum-dev-quickstart:
ipv4_address: 172.16.239.40
dns: *id003
explorer:
image: consensys/quorum-explorer:${QUORUM_EXPLORER_VERSION:-latest}
volumes:
- ./quorum-explorer/config.json:/app/config.json
- ./quorum-explorer/env:/app/.env.production
depends_on:
- rpcnode
ports:
- 25000:25000/tcp
networks:
quorum-dev-quickstart:
ipv4_address: 172.16.239.31
dns: *id003
blockscout:
image: consensys/blockscout:v4.1.5-beta
container_name: blockscout
restart: 'no'
environment: *id005
entrypoint: *id006
depends_on: *id007
links: *id008
ports: *id009
networks:
quorum-dev-quickstart:
ipv4_address: 172.16.239.51
dns: *id003
blockscoutpostgres:
image: postgres:13.6-alpine
restart: on-failure
container_name: blockscoutpostgres
environment: *id010
volumes: *id011
ports: *id012
healthcheck: *id013
networks:
quorum-dev-quickstart:
ipv4_address: 172.16.239.52
dns: *id003
prometheus:
image: prom/prometheus:v2.46.0
volumes:
- ./config/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml
- prometheus:/prometheus
command:
- --config.file=/etc/prometheus/prometheus.yml
ports:
- 9090:9090/tcp
networks:
quorum-dev-quickstart:
ipv4_address: 172.16.239.32
dns: *id003
grafana:
image: grafana/grafana:10.1.0
environment:
- GF_AUTH_ANONYMOUS_ENABLED=true
- GF_USERS_VIEWERS_CAN_EDIT=true
volumes:
- ./config/grafana/provisioning/:/etc/grafana/provisioning/
- grafana:/var/lib/grafana
ports:
- 3000:3000/tcp
networks:
quorum-dev-quickstart:
ipv4_address: 172.16.239.33
dns: *id003
loki:
image: grafana/loki:2.8.4
volumes:
- ./loki/loki.yml:/etc/loki/local-config.yaml
command: -config.file=/etc/loki/local-config.yaml
ports:
- 3100:3100/tcp
networks:
quorum-dev-quickstart:
ipv4_address: 172.16.239.34
dns: *id003
promtail:
image: grafana/promtail:2.8.4
volumes:
- ./logs:/var/log
- ./promtail/promtail.yml:/etc/promtail/config.yml
command: -config.file=/etc/promtail/config.yml
networks:
quorum-dev-quickstart:
ipv4_address: 172.16.239.35
dns: *id003
volumes:
public-keys: null
prometheus: null
grafana: null
splunk: null
ethlogger: null
blockscoutpostgres: null
networks:
quorum-dev-quickstart:
name: quorum-dev-quickstart
driver: bridge
driver_opts:
com.docker.network.driver.mtu: 1500
ipam:
config:
- subnet: 172.16.239.0/24
options:
driver: default