@@ -302,13 +302,16 @@ echo "Generating chain-spec.json file for Partnerchain Nodes..."
302
302
303
303
echo " Configuring Initial Validators with SS58 Address ID..."
304
304
echo " [" > initial_validators.json
305
+
306
+ # Add permissioned nodes as validators
307
+ validator_count=0
305
308
for (( i= 1 ; i<= NUM_PERMISSIONED_NODES_TO_PROCESS; i++ )) ; do
306
309
node_name=" permissioned-$i "
307
310
validator_id=$( jq -r ' .ss58Address' " /shared/node-keys/$node_name /keys/sidechain.json" )
308
311
aura_ss58=$( jq -r ' .ss58Address' " /shared/node-keys/$node_name /keys/aura.json" )
309
312
grandpa_ss58=$( jq -r ' .ss58Address' " /shared/node-keys/$node_name /keys/grandpa.json" )
310
313
311
- if [ $i -gt 1 ]; then
314
+ if [ $validator_count -gt 0 ]; then
312
315
echo " ," >> initial_validators.json
313
316
fi
314
317
@@ -321,7 +324,28 @@ for ((i=1; i<=NUM_PERMISSIONED_NODES_TO_PROCESS; i++)); do
321
324
}
322
325
]
323
326
EOF
327
+ validator_count=$(( validator_count + 1 ))
324
328
done
329
+
330
+ # If no permissioned nodes, use registered-1 as initial validator
331
+ if [ " $NUM_PERMISSIONED_NODES_TO_PROCESS " -eq 0 ] && [ " $NUM_REGISTERED_NODES_TO_PROCESS " -gt 0 ]; then
332
+ node_name=" registered-1"
333
+ validator_id=$( jq -r ' .ss58Address' " /shared/node-keys/$node_name /keys/sidechain.json" )
334
+ aura_ss58=$( jq -r ' .ss58Address' " /shared/node-keys/$node_name /keys/aura.json" )
335
+ grandpa_ss58=$( jq -r ' .ss58Address' " /shared/node-keys/$node_name /keys/grandpa.json" )
336
+
337
+ cat << EOF >> initial_validators.json
338
+ [
339
+ "$validator_id ",
340
+ {
341
+ "aura": "$aura_ss58 ",
342
+ "grandpa": "$grandpa_ss58 "
343
+ }
344
+ ]
345
+ EOF
346
+ validator_count=$(( validator_count + 1 ))
347
+ fi
348
+
325
349
echo " ]" >> initial_validators.json
326
350
327
351
# Update chain-spec.json with initial validators
@@ -330,13 +354,16 @@ mv chain-spec.json.tmp chain-spec.json
330
354
331
355
echo " Configuring Initial Authorities with SS58 Public Key ID..."
332
356
echo " [" > initial_authorities.json
357
+
358
+ # Add permissioned nodes as authorities
359
+ authority_count=0
333
360
for (( i= 1 ; i<= NUM_PERMISSIONED_NODES_TO_PROCESS; i++ )) ; do
334
361
node_name=" permissioned-$i "
335
362
validator_id=$( jq -r ' .ss58PublicKey' " /shared/node-keys/$node_name /keys/sidechain.json" )
336
363
aura_ss58=$( jq -r ' .ss58Address' " /shared/node-keys/$node_name /keys/aura.json" )
337
364
grandpa_ss58=$( jq -r ' .ss58Address' " /shared/node-keys/$node_name /keys/grandpa.json" )
338
365
339
- if [ $i -gt 1 ]; then
366
+ if [ $authority_count -gt 0 ]; then
340
367
echo " ," >> initial_authorities.json
341
368
fi
342
369
@@ -351,7 +378,30 @@ for ((i=1; i<=NUM_PERMISSIONED_NODES_TO_PROCESS; i++)); do
351
378
}
352
379
}
353
380
EOF
381
+ authority_count=$(( authority_count + 1 ))
354
382
done
383
+
384
+ # If no permissioned nodes, use registered-1 as initial authority
385
+ if [ " $NUM_PERMISSIONED_NODES_TO_PROCESS " -eq 0 ] && [ " $NUM_REGISTERED_NODES_TO_PROCESS " -gt 0 ]; then
386
+ node_name=" registered-1"
387
+ validator_id=$( jq -r ' .ss58PublicKey' " /shared/node-keys/$node_name /keys/sidechain.json" )
388
+ aura_ss58=$( jq -r ' .ss58Address' " /shared/node-keys/$node_name /keys/aura.json" )
389
+ grandpa_ss58=$( jq -r ' .ss58Address' " /shared/node-keys/$node_name /keys/grandpa.json" )
390
+
391
+ cat << EOF >> initial_authorities.json
392
+ {
393
+ "Permissioned": {
394
+ "id": "$validator_id ",
395
+ "keys": {
396
+ "aura": "$aura_ss58 ",
397
+ "grandpa": "$grandpa_ss58 "
398
+ }
399
+ }
400
+ }
401
+ EOF
402
+ authority_count=$(( authority_count + 1 ))
403
+ fi
404
+
355
405
echo " ]" >> initial_authorities.json
356
406
357
407
jq --slurpfile authorities initial_authorities.json ' .genesis.runtimeGenesis.config.sessionCommitteeManagement.initialAuthorities = $authorities[0]' chain-spec.json > chain-spec.json.tmp
0 commit comments