|
3 | 3 | NODE_ID=${ID:-0} |
4 | 4 | GIGA_EXECUTOR=${GIGA_EXECUTOR:-false} |
5 | 5 | GIGA_OCC=${GIGA_OCC:-false} |
| 6 | +AUTOBAHN=${AUTOBAHN:-false} |
6 | 7 |
|
7 | 8 | APP_CONFIG_FILE="build/generated/node_$NODE_ID/app.toml" |
8 | 9 | TENDERMINT_CONFIG_FILE="build/generated/node_$NODE_ID/config.toml" |
@@ -59,3 +60,40 @@ if [ -n "$RECEIPT_BACKEND" ]; then |
59 | 60 | echo "rs-backend = \"$RECEIPT_BACKEND\"" >> ~/.sei/config/app.toml |
60 | 61 | fi |
61 | 62 | fi |
| 63 | + |
| 64 | +# Generate Autobahn (GigaRouter) config if requested |
| 65 | +if [ "$AUTOBAHN" = "true" ]; then |
| 66 | + echo "Generating Autobahn config for node $NODE_ID..." |
| 67 | + AUTOBAHN_CONFIG="$HOME/.sei/config/autobahn.json" |
| 68 | + |
| 69 | + # Build validators JSON array from all nodes' pubkeys |
| 70 | + VALIDATORS="[" |
| 71 | + for i in $(seq 0 $((CLUSTER_SIZE - 1))); do |
| 72 | + VAL_KEY=$(cat "build/generated/node_${i}/validator_pubkey.txt") || { echo "ERROR: validator_pubkey.txt not found for node $i"; exit 1; } |
| 73 | + NODE_KEY=$(cat "build/generated/node_${i}/node_pubkey.txt") || { echo "ERROR: node_pubkey.txt not found for node $i"; exit 1; } |
| 74 | + ADDR=$(cat "build/generated/node_${i}/autobahn_address.txt") || { echo "ERROR: autobahn_address.txt not found for node $i"; exit 1; } |
| 75 | + if [ -z "$VAL_KEY" ] || [ -z "$NODE_KEY" ] || [ -z "$ADDR" ]; then |
| 76 | + echo "ERROR: empty pubkey or address for node $i"; exit 1 |
| 77 | + fi |
| 78 | + if [ $i -gt 0 ]; then VALIDATORS="$VALIDATORS,"; fi |
| 79 | + VALIDATORS="$VALIDATORS{\"validator_key\":\"$VAL_KEY\",\"node_key\":\"$NODE_KEY\",\"address\":\"$ADDR\"}" |
| 80 | + done |
| 81 | + VALIDATORS="$VALIDATORS]" |
| 82 | + |
| 83 | + cat > "$AUTOBAHN_CONFIG" << ENDOFCONFIG |
| 84 | +{ |
| 85 | + "validators": $VALIDATORS, |
| 86 | + "max_gas_per_block": 50000000, |
| 87 | + "max_txs_per_block": 5000, |
| 88 | + "mempool_size": 5000, |
| 89 | + "block_interval": "400ms", |
| 90 | + "allow_empty_blocks": false, |
| 91 | + "view_timeout": "1.5s", |
| 92 | + "dial_interval": "10s" |
| 93 | +} |
| 94 | +ENDOFCONFIG |
| 95 | + |
| 96 | + # Inject autobahn config file path into config.toml |
| 97 | + sed -i 's|autobahn-config-file = ""|autobahn-config-file = "'"$AUTOBAHN_CONFIG"'"|' ~/.sei/config/config.toml |
| 98 | + echo "Autobahn config written to $AUTOBAHN_CONFIG" |
| 99 | +fi |
0 commit comments