Skip to content

Commit c40d5a8

Browse files
authored
feat: Add gean consensus client support for devnet3 (#140)
* feat(docker): setup gean client cmd config * feat(docker): setup gean client cmd config * feat: adds gean consensus client support for devnet3 * feat: adds gean consensus client support for devnet3
1 parent 55d6071 commit c40d5a8

2 files changed

Lines changed: 69 additions & 0 deletions

File tree

client-cmds/gean-cmd.sh

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
#!/bin/bash
2+
3+
# Metrics enabled by default if not strictly disabled
4+
metrics_flag=""
5+
if [ "$enableMetrics" != "false" ]; then
6+
metrics_flag="--metrics-port $metricsPort"
7+
fi
8+
9+
# Set aggregator flag based on isAggregator value
10+
aggregator_flag=""
11+
if [ "$isAggregator" == "true" ]; then
12+
aggregator_flag="--is-aggregator"
13+
fi
14+
15+
# Set attestation committee count flag if explicitly configured
16+
attestation_committee_flag=""
17+
if [ -n "$attestationCommitteeCount" ]; then
18+
attestation_committee_flag="--attestation-committee-count $attestationCommitteeCount"
19+
fi
20+
21+
# Resolve binary path relative to the script location
22+
# Fallback to absolute path if scriptDir is not available
23+
BASE_DIR="${scriptDir:-$(pwd)}"
24+
gean_bin="$BASE_DIR/../gean/bin/gean"
25+
26+
node_binary="$gean_bin \
27+
--data-dir \"$dataDir/$item\" \
28+
--genesis \"$configDir/config.yaml\" \
29+
--bootnodes \"$configDir/nodes.yaml\" \
30+
--validator-registry-path \"$configDir/validators.yaml\" \
31+
--node-id \"$item\" \
32+
--node-key \"$configDir/$privKeyPath\" \
33+
--validator-keys \"$configDir/hash-sig-keys\" \
34+
--listen-addr \"/ip4/0.0.0.0/udp/$quicPort/quic-v1\" \
35+
--discovery-port $quicPort \
36+
--devnet-id \"${devnet:-devnet0}\" \
37+
--api-port $apiPort \
38+
$metrics_flag \
39+
$attestation_committee_flag \
40+
$aggregator_flag"
41+
42+
# Docker command (assumes image entrypoint handles the binary)
43+
node_docker="ghcr.io/geanlabs/gean:devnet3 \
44+
--data-dir /data \
45+
--genesis /config/config.yaml \
46+
--bootnodes /config/nodes.yaml \
47+
--validator-registry-path /config/validators.yaml \
48+
--node-id $item \
49+
--node-key /config/$privKeyPath \
50+
--validator-keys /config/hash-sig-keys \
51+
--listen-addr /ip4/0.0.0.0/udp/$quicPort/quic-v1 \
52+
--discovery-port $quicPort \
53+
--devnet-id ${devnet:-devnet0} \
54+
--api-port $apiPort \
55+
$metrics_flag \
56+
$attestation_committee_flag \
57+
$aggregator_flag"
58+
59+
node_setup="docker"

local-devnet/genesis/validator-config.yaml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,3 +90,13 @@ validators:
9090
apiPort: 8087
9191
isAggregator: false
9292
count: 1
93+
94+
- name: "gean_0"
95+
privkey: "5e4f4cd02d1c06f715e02ca9939e22ecbca063ad188e080cda4f0786f50367a0"
96+
enrFields:
97+
ip: "127.0.0.1"
98+
quic: 9008
99+
metricsPort: 8088
100+
apiPort: 5058
101+
isAggregator: false
102+
count: 1

0 commit comments

Comments
 (0)