1
1
#! /bin/bash
2
2
3
3
# Download configuration files from a nominated URL for a nominated network
4
- # If p2p is enabled, create an explicit p2p version, keeping the default aligned with the production
5
- # networks, at least until https://github.com/input-output-hk/ouroboros-network/pull/3844 has been
6
- # inclded in a cardano-node release.
7
4
8
5
CARDANO_CONFIG_URL=$1
9
6
CARDANO_NETWORK=$2
@@ -14,47 +11,18 @@ mkdir -p \
14
11
network/$CARDANO_NETWORK /cardano-db-sync \
15
12
network/$CARDANO_NETWORK /cardano-submit-api
16
13
17
- SOURCE_TOPOLOGY=$( wget -qO- $CARDANO_CONFIG_URL /$CARDANO_NETWORK /topology.json)
18
- NODE_CONFIG=$( wget -qO- $CARDANO_CONFIG_URL /$CARDANO_NETWORK /config.json | jq ' .ByronGenesisFile = "../genesis/byron.json" | .ShelleyGenesisFile = "../genesis/shelley.json" | .AlonzoGenesisFile = "../genesis/alonzo.json" | .ConwayGenesisFile = "../genesis/conway.json"' )
19
- DB_SYNC_CONFIG=$( wget -qO- $CARDANO_CONFIG_URL /$CARDANO_NETWORK /db-sync-config.json | jq ' .NodeConfigFile = "../cardano-node/config.json"' )
20
- SUBMIT_API_CONFIG=$( wget -qO- $CARDANO_CONFIG_URL /$CARDANO_NETWORK /submit-api-config.json)
14
+ wget -q $CARDANO_CONFIG_URL /$CARDANO_NETWORK /topology.json -O network/$CARDANO_NETWORK /cardano-node/topology.json
15
+ wget -qO- $CARDANO_CONFIG_URL /$CARDANO_NETWORK /config.json \
16
+ | jq ' .ByronGenesisFile = "../genesis/byron.json" | .ShelleyGenesisFile = "../genesis/shelley.json" | .AlonzoGenesisFile = "../genesis/alonzo.json" | .ConwayGenesisFile = "../genesis/conway.json"' \
17
+ | jq ' .' > network/$CARDANO_NETWORK /cardano-node/config.json
18
+ wget -qO- $CARDANO_CONFIG_URL /$CARDANO_NETWORK /db-sync-config.json \
19
+ | jq ' .NodeConfigFile = "../cardano-node/config.json"' \
20
+ | jq ' .' > network/$CARDANO_NETWORK /cardano-db-sync/config.json
21
+ wget -q $CARDANO_CONFIG_URL /$CARDANO_NETWORK /submit-api-config.json -O network/$CARDANO_NETWORK /cardano-submit-api/config.json
21
22
23
+
24
+ # Genesis
22
25
wget -q $CARDANO_CONFIG_URL /$CARDANO_NETWORK /byron-genesis.json -O network/$CARDANO_NETWORK /genesis/byron.json
23
26
wget -q $CARDANO_CONFIG_URL /$CARDANO_NETWORK /shelley-genesis.json -O network/$CARDANO_NETWORK /genesis/shelley.json
24
27
wget -q $CARDANO_CONFIG_URL /$CARDANO_NETWORK /alonzo-genesis.json -O network/$CARDANO_NETWORK /genesis/alonzo.json
25
28
wget -q $CARDANO_CONFIG_URL /$CARDANO_NETWORK /conway-genesis.json -O network/$CARDANO_NETWORK /genesis/conway.json
26
-
27
- if [ $( echo $SOURCE_TOPOLOGY | jq ' has("publicRoots")' ) = true ];
28
- then
29
- ACCESS_POINT=$( echo $SOURCE_TOPOLOGY | jq ' .publicRoots[0].accessPoints[0]' )
30
-
31
- # Add separate p2p config
32
- mkdir -p \
33
- network/${CARDANO_NETWORK} _p2p/cardano-node \
34
- network/${CARDANO_NETWORK} _p2p/genesis \
35
- network/${CARDANO_NETWORK} _p2p/cardano-db-sync \
36
- network/${CARDANO_NETWORK} _p2p/cardano-submit-api
37
-
38
- wget -q $CARDANO_CONFIG_URL /$CARDANO_NETWORK /byron-genesis.json -O network/${CARDANO_NETWORK} _p2p/genesis/byron.json
39
- wget -q $CARDANO_CONFIG_URL /$CARDANO_NETWORK /shelley-genesis.json -O network/${CARDANO_NETWORK} _p2p/genesis/shelley.json
40
- wget -q $CARDANO_CONFIG_URL /$CARDANO_NETWORK /alonzo-genesis.json -O network/${CARDANO_NETWORK} _p2p/genesis/alonzo.json
41
- wget -q $CARDANO_CONFIG_URL /$CARDANO_NETWORK /conway-genesis.json -O network/${CARDANO_NETWORK} _p2p/genesis/conway.json
42
-
43
- echo $SOURCE_TOPOLOGY | jq ' .' > network/${CARDANO_NETWORK} _p2p/cardano-node/topology.json
44
- echo $NODE_CONFIG | jq ' .' > network/${CARDANO_NETWORK} _p2p/cardano-node/config.json
45
- echo $DB_SYNC_CONFIG | jq ' .' > network/${CARDANO_NETWORK} _p2p/cardano-db-sync/config.json
46
- echo $SUBMIT_API_CONFIG | jq ' .' > network/${CARDANO_NETWORK} _p2p/cardano-submit-api/config.json
47
-
48
- # Transform defaults to disable p2p
49
- jq -nj --argjson address $( echo $ACCESS_POINT | jq ' .address' ) --argjson port $( echo $ACCESS_POINT | jq ' .port' ) ' {"Producers": [{"addr": $address, "port": $port, "valency": 1 }]}' > network/$CARDANO_NETWORK /cardano-node/topology.json
50
- # See https://github.com/input-output-hk/cardano-node/blob/0681cdeb07d81b3b088a6c14e703d03751c3d25d/cardano-node/src/Cardano/Node/Tracing/Tracers/Startup.hs#L366
51
- echo $NODE_CONFIG | jq ' .EnableP2P = false | del(.TestEnableDevelopmentNetworkProtocols)' > network/$CARDANO_NETWORK /cardano-node/config.json
52
- echo $DB_SYNC_CONFIG | jq ' .' > network/$CARDANO_NETWORK /cardano-db-sync/config.json
53
- echo $SUBMIT_API_CONFIG | jq ' .' > network/$CARDANO_NETWORK /cardano-submit-api/config.json
54
- else
55
- # Source config doesn't have p2p enabled, so no further transformation required
56
- echo $SOURCE_TOPOLOGY | jq ' .' > network/$CARDANO_NETWORK /cardano-node/topology.json
57
- echo $NODE_CONFIG | jq ' .' > network/$CARDANO_NETWORK /cardano-node/config.json
58
- echo $DB_SYNC_CONFIG | jq ' .' > network/$CARDANO_NETWORK /cardano-db-sync/config.json
59
- echo $SUBMIT_API_CONFIG | jq ' .' > network/$CARDANO_NETWORK /cardano-submit-api/config.json
60
- fi
0 commit comments