diff --git a/client-cmds/gean-cmd.sh b/client-cmds/gean-cmd.sh new file mode 100644 index 0000000..aea7f71 --- /dev/null +++ b/client-cmds/gean-cmd.sh @@ -0,0 +1,59 @@ +#!/bin/bash + +# Metrics enabled by default if not strictly disabled +metrics_flag="" +if [ "$enableMetrics" != "false" ]; then + metrics_flag="--metrics-port $metricsPort" +fi + +# Set aggregator flag based on isAggregator value +aggregator_flag="" +if [ "$isAggregator" == "true" ]; then + aggregator_flag="--is-aggregator" +fi + +# Set attestation committee count flag if explicitly configured +attestation_committee_flag="" +if [ -n "$attestationCommitteeCount" ]; then + attestation_committee_flag="--attestation-committee-count $attestationCommitteeCount" +fi + +# Resolve binary path relative to the script location +# Fallback to absolute path if scriptDir is not available +BASE_DIR="${scriptDir:-$(pwd)}" +gean_bin="$BASE_DIR/../gean/bin/gean" + +node_binary="$gean_bin \ + --data-dir \"$dataDir/$item\" \ + --genesis \"$configDir/config.yaml\" \ + --bootnodes \"$configDir/nodes.yaml\" \ + --validator-registry-path \"$configDir/validators.yaml\" \ + --node-id \"$item\" \ + --node-key \"$configDir/$privKeyPath\" \ + --validator-keys \"$configDir/hash-sig-keys\" \ + --listen-addr \"/ip4/0.0.0.0/udp/$quicPort/quic-v1\" \ + --discovery-port $quicPort \ + --devnet-id \"${devnet:-devnet0}\" \ + --api-port $apiPort \ + $metrics_flag \ + $attestation_committee_flag \ + $aggregator_flag" + +# Docker command (assumes image entrypoint handles the binary) +node_docker="ghcr.io/geanlabs/gean:devnet3 \ + --data-dir /data \ + --genesis /config/config.yaml \ + --bootnodes /config/nodes.yaml \ + --validator-registry-path /config/validators.yaml \ + --node-id $item \ + --node-key /config/$privKeyPath \ + --validator-keys /config/hash-sig-keys \ + --listen-addr /ip4/0.0.0.0/udp/$quicPort/quic-v1 \ + --discovery-port $quicPort \ + --devnet-id ${devnet:-devnet0} \ + --api-port $apiPort \ + $metrics_flag \ + $attestation_committee_flag \ + $aggregator_flag" + +node_setup="docker" \ No newline at end of file diff --git a/local-devnet/genesis/validator-config.yaml b/local-devnet/genesis/validator-config.yaml index c1e26de..2d2474d 100644 --- a/local-devnet/genesis/validator-config.yaml +++ b/local-devnet/genesis/validator-config.yaml @@ -90,3 +90,13 @@ validators: apiPort: 8087 isAggregator: false count: 1 + + - name: "gean_0" + privkey: "5e4f4cd02d1c06f715e02ca9939e22ecbca063ad188e080cda4f0786f50367a0" + enrFields: + ip: "127.0.0.1" + quic: 9008 + metricsPort: 8088 + apiPort: 5058 + isAggregator: false + count: 1