linea now with maru
This commit is contained in:
@@ -57,6 +57,10 @@ services:
|
||||
- --Xeth-capability-max=67
|
||||
- --data-path=/opt/besu/database
|
||||
- --data-storage-format=BONSAI
|
||||
- --engine-host-allowlist=*
|
||||
- --engine-jwt-secret=/jwtsecret
|
||||
- --engine-rpc-enabled=true
|
||||
- --engine-rpc-port=8551
|
||||
- --fast-sync-min-peers=1
|
||||
- --host-allowlist=*
|
||||
- --metrics-enabled=true
|
||||
@@ -83,6 +87,7 @@ services:
|
||||
volumes:
|
||||
- ${LINEA_MAINNET_BESU_PRUNED_BONSAI_DATA:-linea-mainnet-besu-pruned-bonsai}:/opt/besu/database
|
||||
- ./linea/mainnet:/config
|
||||
- .jwtsecret:/jwtsecret:ro
|
||||
- /slowdisk:/slowdisk
|
||||
logging: *logging-defaults
|
||||
labels:
|
||||
@@ -108,8 +113,44 @@ services:
|
||||
- ${NO_SSL:+traefik.http.routers.linea-mainnet-besu-pruned-bonsai-ws.rule=(Path(`/linea-mainnet`) || Path(`/linea-mainnet/`)) && Headers(`Upgrade`, `websocket`)}
|
||||
- traefik.http.routers.linea-mainnet-besu-pruned-bonsai-ws.middlewares=linea-mainnet-besu-pruned-bonsai-stripprefix, ipallowlist
|
||||
|
||||
linea-mainnet-node:
|
||||
build:
|
||||
context: ./linea
|
||||
dockerfile: maru.Dockerfile
|
||||
args:
|
||||
MARU_IMAGE: ${LINEA_MAINNET_MARU_IMAGE:-consensys/maru}
|
||||
MARU_VERSION: ${LINEA_MAINNET_MARU_VERSION:-bcfdb43}
|
||||
ports:
|
||||
- 19816:19816
|
||||
- 19816:19816/udp
|
||||
expose:
|
||||
- 8080
|
||||
environment:
|
||||
- EL_HOST=linea-mainnet
|
||||
- IP=${IP}
|
||||
- L1_RPC=${ETHEREUM_MAINNET_EXECUTION_RPC}
|
||||
- P2P_PORT=19816
|
||||
entrypoint: [/bin/bash, -c]
|
||||
command:
|
||||
- |
|
||||
envsubst < /config/maru/config.toml.template > /config.toml
|
||||
exec java -Dlog4j2.configurationFile=/config/maru/log4j.xml -jar /opt/consensys/maru/maru.jar --config=/config.toml --maru-genesis-file=/config/maru/genesis.json "$@"
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- chains
|
||||
volumes:
|
||||
- ${LINEA_MAINNET_BESU_PRUNED_BONSAI__MARU_DATA:-linea-mainnet-besu-pruned-bonsai_maru}:/opt/maru/data
|
||||
- ./linea/mainnet:/config
|
||||
- .jwtsecret:/jwtsecret:ro
|
||||
logging: *logging-defaults
|
||||
labels:
|
||||
- prometheus-scrape.enabled=true
|
||||
- prometheus-scrape.port=9090
|
||||
- prometheus-scrape.path=/debug/metrics/prometheus
|
||||
|
||||
volumes:
|
||||
linea-mainnet-besu-pruned-bonsai:
|
||||
linea-mainnet-besu-pruned-bonsai_maru:
|
||||
|
||||
x-upstreams:
|
||||
- id: $${ID}
|
||||
|
||||
@@ -57,6 +57,10 @@ services:
|
||||
- --Xeth-capability-max=67
|
||||
- --data-path=/opt/besu/database
|
||||
- --data-storage-format=BONSAI
|
||||
- --engine-host-allowlist=*
|
||||
- --engine-jwt-secret=/jwtsecret
|
||||
- --engine-rpc-enabled=true
|
||||
- --engine-rpc-port=8551
|
||||
- --fast-sync-min-peers=1
|
||||
- --host-allowlist=*
|
||||
- --metrics-enabled=true
|
||||
@@ -83,6 +87,7 @@ services:
|
||||
volumes:
|
||||
- ${LINEA_SEPOLIA_BESU_PRUNED_BONSAI_DATA:-linea-sepolia-besu-pruned-bonsai}:/opt/besu/database
|
||||
- ./linea/sepolia:/config
|
||||
- .jwtsecret:/jwtsecret:ro
|
||||
- /slowdisk:/slowdisk
|
||||
logging: *logging-defaults
|
||||
labels:
|
||||
@@ -108,8 +113,44 @@ services:
|
||||
- ${NO_SSL:+traefik.http.routers.linea-sepolia-besu-pruned-bonsai-ws.rule=(Path(`/linea-sepolia`) || Path(`/linea-sepolia/`)) && Headers(`Upgrade`, `websocket`)}
|
||||
- traefik.http.routers.linea-sepolia-besu-pruned-bonsai-ws.middlewares=linea-sepolia-besu-pruned-bonsai-stripprefix, ipallowlist
|
||||
|
||||
linea-sepolia-node:
|
||||
build:
|
||||
context: ./linea
|
||||
dockerfile: maru.Dockerfile
|
||||
args:
|
||||
MARU_IMAGE: ${LINEA_SEPOLIA_MARU_IMAGE:-consensys/maru}
|
||||
MARU_VERSION: ${LINEA_SEPOLIA_MARU_VERSION:-bcfdb43}
|
||||
ports:
|
||||
- 19691:19691
|
||||
- 19691:19691/udp
|
||||
expose:
|
||||
- 8080
|
||||
environment:
|
||||
- EL_HOST=linea-sepolia
|
||||
- IP=${IP}
|
||||
- L1_RPC=${ETHEREUM_SEPOLIA_EXECUTION_RPC}
|
||||
- P2P_PORT=19691
|
||||
entrypoint: [/bin/bash, -c]
|
||||
command:
|
||||
- |
|
||||
envsubst < /config/maru/config.toml.template > /config.toml
|
||||
exec java -Dlog4j2.configurationFile=/config/maru/log4j.xml -jar /opt/consensys/maru/maru.jar --config=/config.toml --maru-genesis-file=/config/maru/genesis.json "$@"
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- chains
|
||||
volumes:
|
||||
- ${LINEA_SEPOLIA_BESU_PRUNED_BONSAI__MARU_DATA:-linea-sepolia-besu-pruned-bonsai_maru}:/opt/maru/data
|
||||
- ./linea/sepolia:/config
|
||||
- .jwtsecret:/jwtsecret:ro
|
||||
logging: *logging-defaults
|
||||
labels:
|
||||
- prometheus-scrape.enabled=true
|
||||
- prometheus-scrape.port=9090
|
||||
- prometheus-scrape.path=/debug/metrics/prometheus
|
||||
|
||||
volumes:
|
||||
linea-sepolia-besu-pruned-bonsai:
|
||||
linea-sepolia-besu-pruned-bonsai_maru:
|
||||
|
||||
x-upstreams:
|
||||
- id: $${ID}
|
||||
|
||||
@@ -61,6 +61,7 @@ services:
|
||||
- --bootnodes=enode://069800db9e6e0ec9cadca670994ef1aea2cfd3d88133e63ecadbc1cdbd1a5847b09838ee08d8b5f02a9c32ee13abeb4d4104bb5514e5322c9d7ee19f41ff3e51@3.132.73.210:31002,enode://a8e03a71eab12ec4b47bb6e19169d8e4dc7a58373a2476969bbe463f2dded6003037fa4dd5f71e15027f7fc8d7340956fbbefed67ddd116ac19a7f74da034b61@3.132.73.210:31003,enode://97706526cf79df9d930003644f9156805f6c8bd964fc79e083444f7014ce10c9bdd2c5049e63b58040dca1d4c82ebef970822198cf0714de830cff4111534ff1@18.223.198.165:31004,enode://24e1c654a801975a96b7f54ebd7452ab15777fc635c1db25bdbd4425fdb04e7f4768e9e838a87ab724320a765e41631d5d37758c933ad0e8668693558125c8aa@18.223.198.165:31000,enode://27010891d960f73d272a553f72b6336c6698db3ade98d631f09c764e57674a797be5ebc6829ddbb65ab564f439ebc75215d20aa98b6f351d12ea623e7d139ac3@3.132.73.210:31001,enode://228e1b8a4931e46f383e30721dac21fb8fb4e5e1b32c870e13b25478c82db3dc1cd9e7ceb93d302a766466b55638cc9c5cbfc43aa48fa41ced19baf365951f76@3.1.142.64:31002,enode://c22eb0d40fc3ad5ea710aeddea906567778166bfe18c157955e8c39b23a46c45db18a0fa2ba07f2b64c81178a8c796aec2a29151533920ead06fcdfc6d8d03c6@47.128.192.57:31004,enode://8ce733abe39fd7ae0a278b9893f85c1193c611a3886168690dd843435460f22cc4d61f9e8d0ace7f5905836a665319a31cccdaacdada2acc69972c382ecce7db@3.1.142.64:31003,enode://b7c1b2bed65a855f7a2104aac9a14674dfdf018fdac763415b373b29ce18cdb81d36328ba4e5c9f12629f3a50c3e8f9ee048f22dbdbe93a82813da89c6b81334@51.20.235.126:31004,enode://95270e0550848a72fb141cf27f1c4ea10714edde365b411dc0fa06c81c0f282ce155eb9fa472b6b8bb9ee98395eeaf4c5a7b02a01fe58b37ea98ba152eda4c37@13.50.94.193:31000,enode://72013391755f24f08567b932feeeec4c893c06e0b1fb480890c83bf87fd277ad86a5ab9cb586db9ae9970371a2f8cb0c96f6c9f69045abca0fb801db7f047138@51.20.235.126:31001
|
||||
- --datadir=/root/.local/share/erigon
|
||||
- --db.size.limit=600GB
|
||||
- --externalcl=true
|
||||
- --http
|
||||
- --http.addr=0.0.0.0
|
||||
- --http.api=eth,erigon,web3,net,debug,trace,txpool,admin,ots
|
||||
@@ -90,6 +91,7 @@ services:
|
||||
volumes:
|
||||
- ${LINEA_MAINNET_ERIGON3_ARCHIVE_TRACE_DATA:-linea-mainnet-erigon3-archive-trace}:/root/.local/share/erigon
|
||||
- ./linea/mainnet:/config
|
||||
- .jwtsecret:/jwtsecret:ro
|
||||
- /slowdisk:/slowdisk
|
||||
logging: *logging-defaults
|
||||
labels:
|
||||
@@ -106,8 +108,44 @@ services:
|
||||
- traefik.http.routers.linea-mainnet-erigon3-archive-trace.middlewares=linea-mainnet-erigon3-archive-trace-stripprefix, ipallowlist
|
||||
shm_size: 2gb
|
||||
|
||||
linea-mainnet-erigon3-archive-node:
|
||||
build:
|
||||
context: ./linea
|
||||
dockerfile: maru.Dockerfile
|
||||
args:
|
||||
MARU_IMAGE: ${LINEA_MAINNET_MARU_IMAGE:-consensys/maru}
|
||||
MARU_VERSION: ${LINEA_MAINNET_MARU_VERSION:-bcfdb43}
|
||||
ports:
|
||||
- 15060:15060
|
||||
- 15060:15060/udp
|
||||
expose:
|
||||
- 8080
|
||||
environment:
|
||||
- EL_HOST=linea-mainnet-erigon3-archive
|
||||
- IP=${IP}
|
||||
- L1_RPC=${ETHEREUM_MAINNET_EXECUTION_RPC}
|
||||
- P2P_PORT=15060
|
||||
entrypoint: [/bin/bash, -c]
|
||||
command:
|
||||
- |
|
||||
envsubst < /config/maru/config.toml.template > /config.toml
|
||||
exec java -Dlog4j2.configurationFile=/config/maru/log4j.xml -jar /opt/consensys/maru/maru.jar --config=/config.toml --maru-genesis-file=/config/maru/genesis.json "$@"
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- chains
|
||||
volumes:
|
||||
- ${LINEA_MAINNET_ERIGON3_ARCHIVE_TRACE__MARU_DATA:-linea-mainnet-erigon3-archive-trace_maru}:/opt/maru/data
|
||||
- ./linea/mainnet:/config
|
||||
- .jwtsecret:/jwtsecret:ro
|
||||
logging: *logging-defaults
|
||||
labels:
|
||||
- prometheus-scrape.enabled=true
|
||||
- prometheus-scrape.port=9090
|
||||
- prometheus-scrape.path=/debug/metrics/prometheus
|
||||
|
||||
volumes:
|
||||
linea-mainnet-erigon3-archive-trace:
|
||||
linea-mainnet-erigon3-archive-trace_maru:
|
||||
|
||||
x-upstreams:
|
||||
- id: $${ID}
|
||||
|
||||
@@ -61,6 +61,7 @@ services:
|
||||
- --bootnodes=enode://069800db9e6e0ec9cadca670994ef1aea2cfd3d88133e63ecadbc1cdbd1a5847b09838ee08d8b5f02a9c32ee13abeb4d4104bb5514e5322c9d7ee19f41ff3e51@3.132.73.210:31002,enode://a8e03a71eab12ec4b47bb6e19169d8e4dc7a58373a2476969bbe463f2dded6003037fa4dd5f71e15027f7fc8d7340956fbbefed67ddd116ac19a7f74da034b61@3.132.73.210:31003,enode://97706526cf79df9d930003644f9156805f6c8bd964fc79e083444f7014ce10c9bdd2c5049e63b58040dca1d4c82ebef970822198cf0714de830cff4111534ff1@18.223.198.165:31004,enode://24e1c654a801975a96b7f54ebd7452ab15777fc635c1db25bdbd4425fdb04e7f4768e9e838a87ab724320a765e41631d5d37758c933ad0e8668693558125c8aa@18.223.198.165:31000,enode://27010891d960f73d272a553f72b6336c6698db3ade98d631f09c764e57674a797be5ebc6829ddbb65ab564f439ebc75215d20aa98b6f351d12ea623e7d139ac3@3.132.73.210:31001,enode://228e1b8a4931e46f383e30721dac21fb8fb4e5e1b32c870e13b25478c82db3dc1cd9e7ceb93d302a766466b55638cc9c5cbfc43aa48fa41ced19baf365951f76@3.1.142.64:31002,enode://c22eb0d40fc3ad5ea710aeddea906567778166bfe18c157955e8c39b23a46c45db18a0fa2ba07f2b64c81178a8c796aec2a29151533920ead06fcdfc6d8d03c6@47.128.192.57:31004,enode://8ce733abe39fd7ae0a278b9893f85c1193c611a3886168690dd843435460f22cc4d61f9e8d0ace7f5905836a665319a31cccdaacdada2acc69972c382ecce7db@3.1.142.64:31003,enode://b7c1b2bed65a855f7a2104aac9a14674dfdf018fdac763415b373b29ce18cdb81d36328ba4e5c9f12629f3a50c3e8f9ee048f22dbdbe93a82813da89c6b81334@51.20.235.126:31004,enode://95270e0550848a72fb141cf27f1c4ea10714edde365b411dc0fa06c81c0f282ce155eb9fa472b6b8bb9ee98395eeaf4c5a7b02a01fe58b37ea98ba152eda4c37@13.50.94.193:31000,enode://72013391755f24f08567b932feeeec4c893c06e0b1fb480890c83bf87fd277ad86a5ab9cb586db9ae9970371a2f8cb0c96f6c9f69045abca0fb801db7f047138@51.20.235.126:31001
|
||||
- --datadir=/root/.local/share/erigon
|
||||
- --db.size.limit=600GB
|
||||
- --externalcl=true
|
||||
- --http
|
||||
- --http.addr=0.0.0.0
|
||||
- --http.api=eth,erigon,web3,net,debug,trace,txpool,admin,ots
|
||||
@@ -91,6 +92,7 @@ services:
|
||||
volumes:
|
||||
- ${LINEA_MAINNET_ERIGON3_MINIMAL_TRACE_DATA:-linea-mainnet-erigon3-minimal-trace}:/root/.local/share/erigon
|
||||
- ./linea/mainnet:/config
|
||||
- .jwtsecret:/jwtsecret:ro
|
||||
- /slowdisk:/slowdisk
|
||||
logging: *logging-defaults
|
||||
labels:
|
||||
@@ -107,8 +109,44 @@ services:
|
||||
- traefik.http.routers.linea-mainnet-erigon3-minimal-trace.middlewares=linea-mainnet-erigon3-minimal-trace-stripprefix, ipallowlist
|
||||
shm_size: 2gb
|
||||
|
||||
linea-mainnet-erigon3-minimal-node:
|
||||
build:
|
||||
context: ./linea
|
||||
dockerfile: maru.Dockerfile
|
||||
args:
|
||||
MARU_IMAGE: ${LINEA_MAINNET_MARU_IMAGE:-consensys/maru}
|
||||
MARU_VERSION: ${LINEA_MAINNET_MARU_VERSION:-bcfdb43}
|
||||
ports:
|
||||
- 19000:19000
|
||||
- 19000:19000/udp
|
||||
expose:
|
||||
- 8080
|
||||
environment:
|
||||
- EL_HOST=linea-mainnet-erigon3-minimal
|
||||
- IP=${IP}
|
||||
- L1_RPC=${ETHEREUM_MAINNET_EXECUTION_RPC}
|
||||
- P2P_PORT=19000
|
||||
entrypoint: [/bin/bash, -c]
|
||||
command:
|
||||
- |
|
||||
envsubst < /config/maru/config.toml.template > /config.toml
|
||||
exec java -Dlog4j2.configurationFile=/config/maru/log4j.xml -jar /opt/consensys/maru/maru.jar --config=/config.toml --maru-genesis-file=/config/maru/genesis.json "$@"
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- chains
|
||||
volumes:
|
||||
- ${LINEA_MAINNET_ERIGON3_MINIMAL_TRACE__MARU_DATA:-linea-mainnet-erigon3-minimal-trace_maru}:/opt/maru/data
|
||||
- ./linea/mainnet:/config
|
||||
- .jwtsecret:/jwtsecret:ro
|
||||
logging: *logging-defaults
|
||||
labels:
|
||||
- prometheus-scrape.enabled=true
|
||||
- prometheus-scrape.port=9090
|
||||
- prometheus-scrape.path=/debug/metrics/prometheus
|
||||
|
||||
volumes:
|
||||
linea-mainnet-erigon3-minimal-trace:
|
||||
linea-mainnet-erigon3-minimal-trace_maru:
|
||||
|
||||
x-upstreams:
|
||||
- id: $${ID}
|
||||
|
||||
@@ -61,6 +61,7 @@ services:
|
||||
- --bootnodes=enode://069800db9e6e0ec9cadca670994ef1aea2cfd3d88133e63ecadbc1cdbd1a5847b09838ee08d8b5f02a9c32ee13abeb4d4104bb5514e5322c9d7ee19f41ff3e51@3.132.73.210:31002,enode://a8e03a71eab12ec4b47bb6e19169d8e4dc7a58373a2476969bbe463f2dded6003037fa4dd5f71e15027f7fc8d7340956fbbefed67ddd116ac19a7f74da034b61@3.132.73.210:31003,enode://97706526cf79df9d930003644f9156805f6c8bd964fc79e083444f7014ce10c9bdd2c5049e63b58040dca1d4c82ebef970822198cf0714de830cff4111534ff1@18.223.198.165:31004,enode://24e1c654a801975a96b7f54ebd7452ab15777fc635c1db25bdbd4425fdb04e7f4768e9e838a87ab724320a765e41631d5d37758c933ad0e8668693558125c8aa@18.223.198.165:31000,enode://27010891d960f73d272a553f72b6336c6698db3ade98d631f09c764e57674a797be5ebc6829ddbb65ab564f439ebc75215d20aa98b6f351d12ea623e7d139ac3@3.132.73.210:31001,enode://228e1b8a4931e46f383e30721dac21fb8fb4e5e1b32c870e13b25478c82db3dc1cd9e7ceb93d302a766466b55638cc9c5cbfc43aa48fa41ced19baf365951f76@3.1.142.64:31002,enode://c22eb0d40fc3ad5ea710aeddea906567778166bfe18c157955e8c39b23a46c45db18a0fa2ba07f2b64c81178a8c796aec2a29151533920ead06fcdfc6d8d03c6@47.128.192.57:31004,enode://8ce733abe39fd7ae0a278b9893f85c1193c611a3886168690dd843435460f22cc4d61f9e8d0ace7f5905836a665319a31cccdaacdada2acc69972c382ecce7db@3.1.142.64:31003,enode://b7c1b2bed65a855f7a2104aac9a14674dfdf018fdac763415b373b29ce18cdb81d36328ba4e5c9f12629f3a50c3e8f9ee048f22dbdbe93a82813da89c6b81334@51.20.235.126:31004,enode://95270e0550848a72fb141cf27f1c4ea10714edde365b411dc0fa06c81c0f282ce155eb9fa472b6b8bb9ee98395eeaf4c5a7b02a01fe58b37ea98ba152eda4c37@13.50.94.193:31000,enode://72013391755f24f08567b932feeeec4c893c06e0b1fb480890c83bf87fd277ad86a5ab9cb586db9ae9970371a2f8cb0c96f6c9f69045abca0fb801db7f047138@51.20.235.126:31001
|
||||
- --datadir=/root/.local/share/erigon
|
||||
- --db.size.limit=600GB
|
||||
- --externalcl=true
|
||||
- --http
|
||||
- --http.addr=0.0.0.0
|
||||
- --http.api=eth,erigon,web3,net,debug,trace,txpool,admin,ots
|
||||
@@ -90,6 +91,7 @@ services:
|
||||
volumes:
|
||||
- ${LINEA_MAINNET_ERIGON3_PRUNED_TRACE_DATA:-linea-mainnet-erigon3-pruned-trace}:/root/.local/share/erigon
|
||||
- ./linea/mainnet:/config
|
||||
- .jwtsecret:/jwtsecret:ro
|
||||
- /slowdisk:/slowdisk
|
||||
logging: *logging-defaults
|
||||
labels:
|
||||
@@ -106,8 +108,44 @@ services:
|
||||
- traefik.http.routers.linea-mainnet-erigon3-pruned-trace.middlewares=linea-mainnet-erigon3-pruned-trace-stripprefix, ipallowlist
|
||||
shm_size: 2gb
|
||||
|
||||
linea-mainnet-erigon3-node:
|
||||
build:
|
||||
context: ./linea
|
||||
dockerfile: maru.Dockerfile
|
||||
args:
|
||||
MARU_IMAGE: ${LINEA_MAINNET_MARU_IMAGE:-consensys/maru}
|
||||
MARU_VERSION: ${LINEA_MAINNET_MARU_VERSION:-bcfdb43}
|
||||
ports:
|
||||
- 17622:17622
|
||||
- 17622:17622/udp
|
||||
expose:
|
||||
- 8080
|
||||
environment:
|
||||
- EL_HOST=linea-mainnet-erigon3
|
||||
- IP=${IP}
|
||||
- L1_RPC=${ETHEREUM_MAINNET_EXECUTION_RPC}
|
||||
- P2P_PORT=17622
|
||||
entrypoint: [/bin/bash, -c]
|
||||
command:
|
||||
- |
|
||||
envsubst < /config/maru/config.toml.template > /config.toml
|
||||
exec java -Dlog4j2.configurationFile=/config/maru/log4j.xml -jar /opt/consensys/maru/maru.jar --config=/config.toml --maru-genesis-file=/config/maru/genesis.json "$@"
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- chains
|
||||
volumes:
|
||||
- ${LINEA_MAINNET_ERIGON3_PRUNED_TRACE__MARU_DATA:-linea-mainnet-erigon3-pruned-trace_maru}:/opt/maru/data
|
||||
- ./linea/mainnet:/config
|
||||
- .jwtsecret:/jwtsecret:ro
|
||||
logging: *logging-defaults
|
||||
labels:
|
||||
- prometheus-scrape.enabled=true
|
||||
- prometheus-scrape.port=9090
|
||||
- prometheus-scrape.path=/debug/metrics/prometheus
|
||||
|
||||
volumes:
|
||||
linea-mainnet-erigon3-pruned-trace:
|
||||
linea-mainnet-erigon3-pruned-trace_maru:
|
||||
|
||||
x-upstreams:
|
||||
- id: $${ID}
|
||||
|
||||
@@ -61,6 +61,7 @@ services:
|
||||
- --bootnodes=enode://6f20afbe4397e51b717a7c1ad3095e79aee48c835eebd9237a3e8a16951ade1fe0e66e981e30ea269849fcb6ba03d838da37f524fabd2a557474194a2e2604fa@18.221.100.27:31002,enode://ce1e0d8e0500cb5c0ac56bdcdafb2d6320c3a2c5125b5ccf12f5dfc9b47ee74acbcafc32559017613136c9c36a0ce74ba4f83b7fb8244f099f3b15708d9d3129@3.23.75.47:31000,enode://1b026a5eb0ae74300f58987d235ef0e3a550df963345cb3574be3b0b54378bd11f14dfd515a8976f2c2d2826090e9507b8ccc24f896a9ffffffcabcfd996a733@3.129.120.128:31001
|
||||
- --datadir=/root/.local/share/erigon
|
||||
- --db.size.limit=600GB
|
||||
- --externalcl=true
|
||||
- --http
|
||||
- --http.addr=0.0.0.0
|
||||
- --http.api=eth,erigon,web3,net,debug,trace,txpool,admin,ots
|
||||
@@ -90,6 +91,7 @@ services:
|
||||
volumes:
|
||||
- ${LINEA_SEPOLIA_ERIGON3_ARCHIVE_TRACE_DATA:-linea-sepolia-erigon3-archive-trace}:/root/.local/share/erigon
|
||||
- ./linea/sepolia:/config
|
||||
- .jwtsecret:/jwtsecret:ro
|
||||
- /slowdisk:/slowdisk
|
||||
logging: *logging-defaults
|
||||
labels:
|
||||
@@ -106,8 +108,44 @@ services:
|
||||
- traefik.http.routers.linea-sepolia-erigon3-archive-trace.middlewares=linea-sepolia-erigon3-archive-trace-stripprefix, ipallowlist
|
||||
shm_size: 2gb
|
||||
|
||||
linea-sepolia-erigon3-archive-node:
|
||||
build:
|
||||
context: ./linea
|
||||
dockerfile: maru.Dockerfile
|
||||
args:
|
||||
MARU_IMAGE: ${LINEA_SEPOLIA_MARU_IMAGE:-consensys/maru}
|
||||
MARU_VERSION: ${LINEA_SEPOLIA_MARU_VERSION:-bcfdb43}
|
||||
ports:
|
||||
- 17235:17235
|
||||
- 17235:17235/udp
|
||||
expose:
|
||||
- 8080
|
||||
environment:
|
||||
- EL_HOST=linea-sepolia-erigon3-archive
|
||||
- IP=${IP}
|
||||
- L1_RPC=${ETHEREUM_SEPOLIA_EXECUTION_RPC}
|
||||
- P2P_PORT=17235
|
||||
entrypoint: [/bin/bash, -c]
|
||||
command:
|
||||
- |
|
||||
envsubst < /config/maru/config.toml.template > /config.toml
|
||||
exec java -Dlog4j2.configurationFile=/config/maru/log4j.xml -jar /opt/consensys/maru/maru.jar --config=/config.toml --maru-genesis-file=/config/maru/genesis.json "$@"
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- chains
|
||||
volumes:
|
||||
- ${LINEA_SEPOLIA_ERIGON3_ARCHIVE_TRACE__MARU_DATA:-linea-sepolia-erigon3-archive-trace_maru}:/opt/maru/data
|
||||
- ./linea/sepolia:/config
|
||||
- .jwtsecret:/jwtsecret:ro
|
||||
logging: *logging-defaults
|
||||
labels:
|
||||
- prometheus-scrape.enabled=true
|
||||
- prometheus-scrape.port=9090
|
||||
- prometheus-scrape.path=/debug/metrics/prometheus
|
||||
|
||||
volumes:
|
||||
linea-sepolia-erigon3-archive-trace:
|
||||
linea-sepolia-erigon3-archive-trace_maru:
|
||||
|
||||
x-upstreams:
|
||||
- id: $${ID}
|
||||
|
||||
@@ -61,6 +61,7 @@ services:
|
||||
- --bootnodes=enode://6f20afbe4397e51b717a7c1ad3095e79aee48c835eebd9237a3e8a16951ade1fe0e66e981e30ea269849fcb6ba03d838da37f524fabd2a557474194a2e2604fa@18.221.100.27:31002,enode://ce1e0d8e0500cb5c0ac56bdcdafb2d6320c3a2c5125b5ccf12f5dfc9b47ee74acbcafc32559017613136c9c36a0ce74ba4f83b7fb8244f099f3b15708d9d3129@3.23.75.47:31000,enode://1b026a5eb0ae74300f58987d235ef0e3a550df963345cb3574be3b0b54378bd11f14dfd515a8976f2c2d2826090e9507b8ccc24f896a9ffffffcabcfd996a733@3.129.120.128:31001
|
||||
- --datadir=/root/.local/share/erigon
|
||||
- --db.size.limit=600GB
|
||||
- --externalcl=true
|
||||
- --http
|
||||
- --http.addr=0.0.0.0
|
||||
- --http.api=eth,erigon,web3,net,debug,trace,txpool,admin,ots
|
||||
@@ -91,6 +92,7 @@ services:
|
||||
volumes:
|
||||
- ${LINEA_SEPOLIA_ERIGON3_MINIMAL_TRACE_DATA:-linea-sepolia-erigon3-minimal-trace}:/root/.local/share/erigon
|
||||
- ./linea/sepolia:/config
|
||||
- .jwtsecret:/jwtsecret:ro
|
||||
- /slowdisk:/slowdisk
|
||||
logging: *logging-defaults
|
||||
labels:
|
||||
@@ -107,8 +109,44 @@ services:
|
||||
- traefik.http.routers.linea-sepolia-erigon3-minimal-trace.middlewares=linea-sepolia-erigon3-minimal-trace-stripprefix, ipallowlist
|
||||
shm_size: 2gb
|
||||
|
||||
linea-sepolia-erigon3-minimal-node:
|
||||
build:
|
||||
context: ./linea
|
||||
dockerfile: maru.Dockerfile
|
||||
args:
|
||||
MARU_IMAGE: ${LINEA_SEPOLIA_MARU_IMAGE:-consensys/maru}
|
||||
MARU_VERSION: ${LINEA_SEPOLIA_MARU_VERSION:-bcfdb43}
|
||||
ports:
|
||||
- 17410:17410
|
||||
- 17410:17410/udp
|
||||
expose:
|
||||
- 8080
|
||||
environment:
|
||||
- EL_HOST=linea-sepolia-erigon3-minimal
|
||||
- IP=${IP}
|
||||
- L1_RPC=${ETHEREUM_SEPOLIA_EXECUTION_RPC}
|
||||
- P2P_PORT=17410
|
||||
entrypoint: [/bin/bash, -c]
|
||||
command:
|
||||
- |
|
||||
envsubst < /config/maru/config.toml.template > /config.toml
|
||||
exec java -Dlog4j2.configurationFile=/config/maru/log4j.xml -jar /opt/consensys/maru/maru.jar --config=/config.toml --maru-genesis-file=/config/maru/genesis.json "$@"
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- chains
|
||||
volumes:
|
||||
- ${LINEA_SEPOLIA_ERIGON3_MINIMAL_TRACE__MARU_DATA:-linea-sepolia-erigon3-minimal-trace_maru}:/opt/maru/data
|
||||
- ./linea/sepolia:/config
|
||||
- .jwtsecret:/jwtsecret:ro
|
||||
logging: *logging-defaults
|
||||
labels:
|
||||
- prometheus-scrape.enabled=true
|
||||
- prometheus-scrape.port=9090
|
||||
- prometheus-scrape.path=/debug/metrics/prometheus
|
||||
|
||||
volumes:
|
||||
linea-sepolia-erigon3-minimal-trace:
|
||||
linea-sepolia-erigon3-minimal-trace_maru:
|
||||
|
||||
x-upstreams:
|
||||
- id: $${ID}
|
||||
|
||||
@@ -61,6 +61,7 @@ services:
|
||||
- --bootnodes=enode://6f20afbe4397e51b717a7c1ad3095e79aee48c835eebd9237a3e8a16951ade1fe0e66e981e30ea269849fcb6ba03d838da37f524fabd2a557474194a2e2604fa@18.221.100.27:31002,enode://ce1e0d8e0500cb5c0ac56bdcdafb2d6320c3a2c5125b5ccf12f5dfc9b47ee74acbcafc32559017613136c9c36a0ce74ba4f83b7fb8244f099f3b15708d9d3129@3.23.75.47:31000,enode://1b026a5eb0ae74300f58987d235ef0e3a550df963345cb3574be3b0b54378bd11f14dfd515a8976f2c2d2826090e9507b8ccc24f896a9ffffffcabcfd996a733@3.129.120.128:31001
|
||||
- --datadir=/root/.local/share/erigon
|
||||
- --db.size.limit=600GB
|
||||
- --externalcl=true
|
||||
- --http
|
||||
- --http.addr=0.0.0.0
|
||||
- --http.api=eth,erigon,web3,net,debug,trace,txpool,admin,ots
|
||||
@@ -90,6 +91,7 @@ services:
|
||||
volumes:
|
||||
- ${LINEA_SEPOLIA_ERIGON3_PRUNED_TRACE_DATA:-linea-sepolia-erigon3-pruned-trace}:/root/.local/share/erigon
|
||||
- ./linea/sepolia:/config
|
||||
- .jwtsecret:/jwtsecret:ro
|
||||
- /slowdisk:/slowdisk
|
||||
logging: *logging-defaults
|
||||
labels:
|
||||
@@ -106,8 +108,44 @@ services:
|
||||
- traefik.http.routers.linea-sepolia-erigon3-pruned-trace.middlewares=linea-sepolia-erigon3-pruned-trace-stripprefix, ipallowlist
|
||||
shm_size: 2gb
|
||||
|
||||
linea-sepolia-erigon3-node:
|
||||
build:
|
||||
context: ./linea
|
||||
dockerfile: maru.Dockerfile
|
||||
args:
|
||||
MARU_IMAGE: ${LINEA_SEPOLIA_MARU_IMAGE:-consensys/maru}
|
||||
MARU_VERSION: ${LINEA_SEPOLIA_MARU_VERSION:-bcfdb43}
|
||||
ports:
|
||||
- 15620:15620
|
||||
- 15620:15620/udp
|
||||
expose:
|
||||
- 8080
|
||||
environment:
|
||||
- EL_HOST=linea-sepolia-erigon3
|
||||
- IP=${IP}
|
||||
- L1_RPC=${ETHEREUM_SEPOLIA_EXECUTION_RPC}
|
||||
- P2P_PORT=15620
|
||||
entrypoint: [/bin/bash, -c]
|
||||
command:
|
||||
- |
|
||||
envsubst < /config/maru/config.toml.template > /config.toml
|
||||
exec java -Dlog4j2.configurationFile=/config/maru/log4j.xml -jar /opt/consensys/maru/maru.jar --config=/config.toml --maru-genesis-file=/config/maru/genesis.json "$@"
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- chains
|
||||
volumes:
|
||||
- ${LINEA_SEPOLIA_ERIGON3_PRUNED_TRACE__MARU_DATA:-linea-sepolia-erigon3-pruned-trace_maru}:/opt/maru/data
|
||||
- ./linea/sepolia:/config
|
||||
- .jwtsecret:/jwtsecret:ro
|
||||
logging: *logging-defaults
|
||||
labels:
|
||||
- prometheus-scrape.enabled=true
|
||||
- prometheus-scrape.port=9090
|
||||
- prometheus-scrape.path=/debug/metrics/prometheus
|
||||
|
||||
volumes:
|
||||
linea-sepolia-erigon3-pruned-trace:
|
||||
linea-sepolia-erigon3-pruned-trace_maru:
|
||||
|
||||
x-upstreams:
|
||||
- id: $${ID}
|
||||
|
||||
54
linea/mainnet/maru/config.toml.template
Normal file
54
linea/mainnet/maru/config.toml.template
Normal file
@@ -0,0 +1,54 @@
|
||||
# Uncomment the below [linea] section for finalized L2 block tag
|
||||
[linea]
|
||||
contract-address = "0xd19d4B5d358258f05D7B411E21A1460D11B0876F"
|
||||
l1-eth-api = { endpoint = "${L1_RPC}" }
|
||||
l1-polling-interval = "6 seconds"
|
||||
l1-highest-block-tag = "finalized"
|
||||
|
||||
[persistence]
|
||||
data-path = "/opt/maru/data"
|
||||
private-key-path = "/opt/maru/private-key"
|
||||
|
||||
[p2p]
|
||||
port = ${P2P_PORT} # Default port (can be same as discovery)
|
||||
ip-address = "0.0.0.0"
|
||||
static-peers = [
|
||||
"/ip4/18.223.198.165/tcp/31005/p2p/16Uiu2HAmSJSpgBxVoMcRZ4u8CQbTgfPrbw6u7xH1BnMgwAQZAm91",
|
||||
"/ip4/18.190.136.59/tcp/31006/p2p/16Uiu2HAm5DpcTYVLzZf45unDDrY9wYVbqeFnPo4CrpnF3tyXV3o8",
|
||||
"/ip4/13.50.94.193/tcp/31003/p2p/16Uiu2HAmVcX8oB9KxmJdVAGybMyxuqtbY959i6uaew1agDBv9wk3",
|
||||
"/ip4/3.1.142.64/tcp/31000/p2p/16Uiu2HAkuaxfz8ftqSSfG6hKG7B7MCUD9boXvawxKXz9eq7R6Tmi",
|
||||
"/ip4/52.77.66.99/tcp/31001/p2p/16Uiu2HAmGNP9fqUnfCb5v8VAWczW12qmsEnYhNUw2v652Px9Kz5V"
|
||||
]
|
||||
reconnect-delay = "500ms"
|
||||
|
||||
[p2p.discovery]
|
||||
port = ${P2P_PORT}
|
||||
advertise-ip = ${IP}
|
||||
|
||||
[payload-validator]
|
||||
# Besu and Geth node as execution layer client
|
||||
engine-api-endpoint = { endpoint = "http://${EL_HOST}:8551", jwt-secret-path = "/jwtsecret" }
|
||||
eth-api-endpoint = { endpoint = "http://${EL_HOST}:8545" }
|
||||
payload-validation-enabled = false
|
||||
|
||||
[observability]
|
||||
port = 9090
|
||||
jvm-metrics-enabled = true
|
||||
prometheus-metrics-enabled = true
|
||||
|
||||
[api]
|
||||
port = 8080
|
||||
|
||||
[syncing]
|
||||
peer-chain-height-polling-interval = "5s"
|
||||
el-sync-status-refresh-interval = "5s"
|
||||
sync-target-selection = "Highest"
|
||||
desync-tolerance = 0
|
||||
|
||||
[syncing.download]
|
||||
block-range-request-timeout = "10s"
|
||||
blocks-batch-size = 10
|
||||
blocks-parallelism = 10
|
||||
max-retries = 5
|
||||
backoff-delay = "1s"
|
||||
use-unconditional-random-download-peer = false
|
||||
20
linea/mainnet/maru/genesis.json
Normal file
20
linea/mainnet/maru/genesis.json
Normal file
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"chainId": 59144,
|
||||
"config": {
|
||||
"0": {
|
||||
"type": "difficultyAwareQbft",
|
||||
"blockTimeSeconds": 1,
|
||||
"postTtdConfig": {
|
||||
"validatorSet": ["0x9f31730181441beb67b10efaed5773767ea959bc"],
|
||||
"elFork": "Paris"
|
||||
},
|
||||
"terminalTotalDifficulty": 49575263
|
||||
},
|
||||
"1761213600": {
|
||||
"type": "qbft",
|
||||
"validatorSet": ["0x9f31730181441beb67b10efaed5773767ea959bc"],
|
||||
"blockTimeSeconds": 1,
|
||||
"elFork": "Shanghai"
|
||||
}
|
||||
}
|
||||
}
|
||||
23
linea/mainnet/maru/log4j.xml
Normal file
23
linea/mainnet/maru/log4j.xml
Normal file
@@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Configuration status="warn">
|
||||
<Appenders>
|
||||
<Console name="console" target="SYSTEM_OUT">
|
||||
<PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSSZZZ} | %t | %-5level | %c{1} | %msg %throwable%n" />
|
||||
</Console>
|
||||
</Appenders>
|
||||
<Loggers>
|
||||
<Logger name="maru" level="INFO" additivity="false">
|
||||
<AppenderRef ref="console"/>
|
||||
</Logger>
|
||||
<!--
|
||||
Set maru.clients to TRACE for more detailed client logs
|
||||
DEBUG will log only failed requests
|
||||
-->
|
||||
<Logger name="maru.clients" level="DEBUG" additivity="false">
|
||||
<AppenderRef ref="console"/>
|
||||
</Logger>
|
||||
<Root level="INFO" additivity="false">
|
||||
<appender-ref ref="console"/>
|
||||
</Root>
|
||||
</Loggers>
|
||||
</Configuration>
|
||||
5
linea/maru.Dockerfile
Normal file
5
linea/maru.Dockerfile
Normal file
@@ -0,0 +1,5 @@
|
||||
ARG MARU_IMAGE=consensys/maru
|
||||
ARG MARU_VERSION=bcfdb4
|
||||
FROM ${MARU_IMAGE}:${MARU_VERSION}
|
||||
|
||||
RUN apt-get update && apt-get install -y gettext && rm -rf /var/lib/apt/lists/*
|
||||
@@ -1,29 +1,33 @@
|
||||
# IMPORTANT: No [qbft] section = follower node (not validator)
|
||||
|
||||
# Uncomment the below [linea] section for finalized L2 block tag
|
||||
[linea]
|
||||
contract-address = "0xB218f8A4Bc926cF1cA7b3423c154a0D627Bdb7E5"
|
||||
l1-eth-api = { endpoint = "<your Sepolia RPC endpoint>" }
|
||||
l1-eth-api = { endpoint = "${L1_RPC}" }
|
||||
l1-polling-interval = "6 seconds"
|
||||
l1-highest-block-tag = "finalized"
|
||||
|
||||
[persistence]
|
||||
data-path = "/opt/maru/data"
|
||||
data-path = "/opt/maru/data"
|
||||
private-key-path = "/opt/maru/private-key"
|
||||
|
||||
[p2p]
|
||||
port = 9000 # Default port (can be same as discovery)
|
||||
port = ${P2P_PORT} # Default port (can be same as discovery)
|
||||
ip-address = "0.0.0.0"
|
||||
static-peers = ["/ip4/3.129.120.128/tcp/31005/p2p/16Uiu2HAmR33t8RZiAHovuH9iH2UuUrajrbfyYowiYDAQo3D5Y9wg", "/ip4/3.129.120.128/tcp/31006/p2p/16Uiu2HAm9HB5oNmnmj8yY6T7dfhLVidVzYqa8QVDtEthkMr6b8tx"]
|
||||
static-peers = [
|
||||
"/ip4/3.129.120.128/tcp/31005/p2p/16Uiu2HAmR33t8RZiAHovuH9iH2UuUrajrbfyYowiYDAQo3D5Y9wg",
|
||||
"/ip4/3.129.120.128/tcp/31006/p2p/16Uiu2HAm9HB5oNmnmj8yY6T7dfhLVidVzYqa8QVDtEthkMr6b8tx"
|
||||
]
|
||||
reconnect-delay = "500ms"
|
||||
|
||||
[p2p.discovery]
|
||||
port = 9000
|
||||
bootnodes = []
|
||||
port = ${P2P_PORT}
|
||||
advertise-ip = ${IP}
|
||||
refresh-interval = "3s"
|
||||
|
||||
[payload-validator]
|
||||
engine-api-endpoint = { endpoint = "http://linea-besu:8550" } # Match Besu port!
|
||||
eth-api-endpoint = { endpoint = "http://linea-besu:8545" }
|
||||
# Besu and Geth node as execution layer client
|
||||
engine-api-endpoint = { endpoint = "http://${EL_HOST}:8551", jwt-secret-path = "/jwtsecret" }
|
||||
eth-api-endpoint = { endpoint = "http://${EL_HOST}:8545" }
|
||||
payload-validation-enabled = false
|
||||
|
||||
[observability]
|
||||
port = 9090
|
||||
23
linea/sepolia/maru/log4j.xml
Normal file
23
linea/sepolia/maru/log4j.xml
Normal file
@@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Configuration status="warn">
|
||||
<Appenders>
|
||||
<Console name="console" target="SYSTEM_OUT">
|
||||
<PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSSZZZ} | %t | %-5level | %c{1} | %msg %throwable%n" />
|
||||
</Console>
|
||||
</Appenders>
|
||||
<Loggers>
|
||||
<Logger name="maru" level="INFO" additivity="false">
|
||||
<AppenderRef ref="console"/>
|
||||
</Logger>
|
||||
<!--
|
||||
Set maru.clients to TRACE for more detailed client logs
|
||||
DEBUG will log only failed requests
|
||||
-->
|
||||
<Logger name="maru.clients" level="DEBUG" additivity="false">
|
||||
<AppenderRef ref="console"/>
|
||||
</Logger>
|
||||
<Root level="INFO" additivity="false">
|
||||
<appender-ref ref="console"/>
|
||||
</Root>
|
||||
</Loggers>
|
||||
</Configuration>
|
||||
Reference in New Issue
Block a user