Skip to content

Commit

Permalink
Feat: Add possibility to use genesis files downloaded from remote URL…
Browse files Browse the repository at this point in the history
… for dev envs evm node deployments MGX-1115 (#167)

* feat: add possibility to configure preload of custom evm node genesis for evm nodes in dev envs

* holesky & arbitrum-sepolia genesis files

* feat: add custom evmNode genesis configs for dev evm node deployments

* fix: issue with missing --autoMine parameter

* fix: update env configs

---------

Co-authored-by: Mateusz Nowakowski <[email protected]>
  • Loading branch information
tenequm and mateuszaaa committed Jul 7, 2024
1 parent 2a47664 commit 81bf655
Show file tree
Hide file tree
Showing 9 changed files with 80 additions and 12 deletions.
33 changes: 31 additions & 2 deletions ops/helm-charts/evm-node/templates/statefulset.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,32 @@ spec:
{{- include "app.labels" . | nindent 8 }}
service: {{ include "app.name" . }}
spec:
{{- if .Values.customGenesisUrl }}
initContainers:
- name: download-genesis
image: curlimages/curl:7.81.0
command:
- sh
- -c
- |
curl -L {{ .Values.customGenesisUrl }} -o /config/genesis.json
volumeMounts:
- name: config
mountPath: /config
{{- end }}
containers:
- name: node
image: "{{ .Values.evmNodeImage }}"
imagePullPolicy: Always
command: {{ toYaml .Values.command | nindent 12 }}
args: {{ toYaml .Values.args | nindent 12 }}
args:
{{- toYaml .Values.args | nindent 12 }}
{{- if .Values.enableAutoMine }}
- --auto-mine
{{- end }}
{{- if .Values.customGenesisUrl }}
- --chain=/config/genesis.json
{{- end }}
ports:
- containerPort: 8545
name: rpc
Expand All @@ -33,11 +53,20 @@ spec:
volumeMounts:
- mountPath: {{ .Values.dataMountPath }}
name: data
{{- if .Values.customGenesisUrl }}
- name: config
mountPath: /config
{{- end }}
{{- if not .Values.enablePersistence }}
volumes:
- name: data
emptyDir: {}
{{- end }}
{{- if .Values.customGenesisUrl }}
volumes:
- name: config
emptyDir: {}
{{- end }}
{{- if .Values.enablePersistence }}
volumeClaimTemplates:
- metadata:
Expand All @@ -48,4 +77,4 @@ spec:
resources:
requests:
storage: {{ .Values.storageSize }}
{{- end }}
{{- end }}
3 changes: 2 additions & 1 deletion ops/helm-charts/evm-node/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ nameOverride: ''
privateKey: '0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80'
remoteCluster: false
ingressClassName: nginx
customGenesisUrl: ''

envSelector: ethereum-stub
verifierEnabled: false
Expand All @@ -19,7 +20,6 @@ evmNodeImage: 'ghcr.io/paradigmxyz/reth:v1.0.0'
command: []
args:
- node
- --auto-mine
- --datadir=/data
- --http
- --http.addr=0.0.0.0
Expand All @@ -31,6 +31,7 @@ args:
- --ws.port=8546
- --ws.api=all
- --ws.origins=*
enableAutoMine: true

enablePersistence: false
storageClass: standard
Expand Down
10 changes: 8 additions & 2 deletions ops/helmfiles/config/default.yaml
Original file line number Diff line number Diff line change
@@ -1,9 +1,15 @@
remoteCluster: true

evmNodeEnabled: true
blockscoutEnabled: false
enableArbitrumServices: true

####################
# evm-node configs #
####################
evmNode:
enabled: true
customGenesisUrlEth: ''
customGenesisUrlArb: ''

#####################
# collator configs #
#####################
Expand Down
7 changes: 6 additions & 1 deletion ops/helmfiles/config/dev.yaml
Original file line number Diff line number Diff line change
@@ -1,9 +1,14 @@
remoteCluster: true

evmNodeEnabled: true
blockscoutEnabled: true
enableArbitrumServices: true

####################
# evm-node configs #
####################
evmNode:
enabled: true

#####################
# collator configs #
#####################
Expand Down
10 changes: 9 additions & 1 deletion ops/helmfiles/config/frontend.yaml
Original file line number Diff line number Diff line change
@@ -1,8 +1,16 @@
remoteCluster: true
evmNodeEnabled: true

blockscoutEnabled: true
enableArbitrumServices: true

####################
# evm-node configs #
####################
evmNode:
enabled: true
customGenesisUrlEth: 'https://raw.githubusercontent.com/mangata-finance/eigen-layer-monorepo/a2f5af706b5bb8d91475a31acd14550f2559f060/contracts/script/config/holesky-stub.json'
customGenesisUrlArb: 'https://raw.githubusercontent.com/mangata-finance/eigen-layer-monorepo/a2f5af706b5bb8d91475a31acd14550f2559f060/contracts/script/config/arbitrum-sepolia-stub.json'

#####################
# collator configs #
#####################
Expand Down
7 changes: 6 additions & 1 deletion ops/helmfiles/config/fungible.yaml
Original file line number Diff line number Diff line change
@@ -1,9 +1,14 @@
remoteCluster: true

evmNodeEnabled: true
blockscoutEnabled: true
enableArbitrumServices: true

####################
# evm-node configs #
####################
evmNode:
enabled: true

#####################
# collator configs #
#####################
Expand Down
7 changes: 6 additions & 1 deletion ops/helmfiles/config/holesky.yaml
Original file line number Diff line number Diff line change
@@ -1,9 +1,14 @@
remoteCluster: true

evmNodeEnabled: false
blockscoutEnabled: false
enableArbitrumServices: true

####################
# evm-node configs #
####################
evmNode:
enabled: false

#####################
# collator configs #
#####################
Expand Down
7 changes: 6 additions & 1 deletion ops/helmfiles/config/testnet.yaml
Original file line number Diff line number Diff line change
@@ -1,8 +1,13 @@
remoteCluster: true

evmNodeEnabled: false
enableArbitrumServices: false

####################
# evm-node configs #
####################
evmNode:
enabled: false

#####################
# collator configs #
#####################
Expand Down
8 changes: 6 additions & 2 deletions ops/helmfiles/helmfile.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ helmDefaults:
releases:
- name: evm-node-eth
namespace: 'rollup-{{ requiredEnv "ENVIRONMENT" }}'
installed: {{ .Values.evmNodeEnabled }}
installed: {{ .Values.evmNode.enabled }}
chart: ../helm-charts/evm-node
values:
- image:
Expand All @@ -46,10 +46,12 @@ releases:
enablePersistence: true
verifierEnabled: {{ .Values | get "blockscoutEnabled" false }}
verifierUrl: 'http://blockscout-eth-blockscout-stack-blockscout-svc:80/api'
# If customChainspecUrlEth is not set, the node will use the default chainspec instead
customGenesisUrl: {{ .Values | getOrNil "evmNode.customGenesisUrlEth" }}

- name: evm-node-arb
namespace: 'rollup-{{ requiredEnv "ENVIRONMENT" }}'
installed: {{ and .Values.evmNodeEnabled .Values.enableArbitrumServices | toYaml }}
installed: {{ and .Values.evmNode.enabled .Values.enableArbitrumServices | toYaml }}
chart: ../helm-charts/evm-node
values:
- image:
Expand All @@ -62,6 +64,8 @@ releases:
enablePersistence: true
verifierEnabled: {{ .Values | get "blockscoutEnabled" false }}
verifierUrl: 'http://blockscout-arb-blockscout-stack-blockscout-svc:80/api'
# If customChainspecUrlArb is not set, the node will use the default chainspec instead
customGenesisUrl: {{ .Values | getOrNil "evmNode.customGenesisUrlArb" }}

- name: avs-aggregator
namespace: 'rollup-{{ requiredEnv "ENVIRONMENT" }}'
Expand Down

0 comments on commit 81bf655

Please sign in to comment.