@@ -8,6 +8,22 @@ while [ $# -gt 0 ]; do
88 fi
99 shift
1010done
11+ # generate folders if missing
12+ if [ ! -d " $HOME /.avail" ]; then
13+ mkdir $HOME /.avail
14+ fi
15+ if [ ! -d " $HOME /.avail/bin" ]; then
16+ mkdir $HOME /.avail/bin
17+ fi
18+ if [ ! -d " $HOME /.avail/identity" ]; then
19+ mkdir $HOME /.avail/identity
20+ fi
21+ if [ ! -d " $HOME /.avail/data" ]; then
22+ mkdir $HOME /.avail/data
23+ fi
24+ if [ ! -d " $HOME /.avail/config" ]; then
25+ mkdir $HOME /.avail/config
26+ fi
1127# check if bash is current terminal shell, else check for zsh
1228if [ -z " $BASH_VERSION " ]; then
1329 if [ -z " $ZSH_VERSION " ]; then
@@ -46,12 +62,30 @@ if [ -z "$network" ]; then
4662else
4763 NETWORK=" $network "
4864fi
65+ CONFIG_PARAMS=" bootstraps=['/dns/bootnode.1.lightclient.goldberg.avail.tools/tcp/37000/p2p/12D3KooWBkLsNGaD3SpMaRWtAmWVuiZg1afdNSPbtJ8M8r9ArGRT','/dns/bootnode.2.lightclient.goldberg.avail.tools/tcp/37000/p2p/12D3KooWRCgfvaLSnQfkwGehrhSNpY7i5RenWKL2ARst6ZqgdZZd']\nfull_node_ws=['wss://rpc-goldberg.sandbox.avail.tools:443','wss://goldberg-rpc.fra.avail.tools:443']\nconfidence=99.0\navail_path='$HOME /.avail/data'\nrecord_ttl=43200\n"
66+ AVAIL_BIN=$HOME /.avail/bin/avail-light
4967if [ " $NETWORK " = " goldberg" ]; then
5068 echo " 📌 Goldberg testnet selected."
5169 VERSION=" v1.7.9"
70+ if [ -z " $config " ]; then
71+ CONFIG=" $HOME /.avail/config/config.yml"
72+ if [ -f " $CONFIG " ]; then
73+ echo " 📄 Configuration file found at $CONFIG ."
74+ else
75+ echo " 🤷 No configuration file set. This will be automatically generated at startup."
76+ touch $CONFIG
77+ echo -e $CONFIG_PARAMS >> $CONFIG
78+ fi
79+ else
80+ CONFIG=" $config "
81+ fi
5282elif [ " $NETWORK " = " local" ]; then
5383 echo " 📌 Local testnet selected."
5484 VERSION=" v1.7.9"
85+ if [ -z " $config " ]; then
86+ echo " 🚫 No configuration file was provided for local testnet, exiting."
87+ exit 1
88+ fi
5589else
5690 echo " 🚫 Invalid network selected. Select one of the following: goldberg, local."
5791 exit 1
@@ -72,20 +106,11 @@ if [ -z "$identity" ]; then
72106else
73107 IDENTITY=" $identity "
74108fi
75- if [ ! -d " $HOME /.avail" ]; then
76- mkdir $HOME /.avail
77- fi
78- if [ ! -d " $HOME /.avail/bin" ]; then
79- mkdir $HOME /.avail/bin
80- fi
81- if [ ! -d " $HOME /.avail/identity" ]; then
82- mkdir $HOME /.avail/identity
83- fi
84109# check if avail-light version matches!
85110UPGRADE=0
86111if [ ! -z " $upgrade " ]; then
87112 echo " 🔄 Checking for updates..."
88- if [ -f $HOME /.avail/bin/avail-light ]; then
113+ if [ -f $AVAIL_BIN ]; then
89114 CURRENT_VERSION=" v$( $HOME /.avail/bin/avail-light --version | cut -d " " -f 2) "
90115 if [ " $CURRENT_VERSION " = " v1.7.8" ] && [ " $VERSION " = " v1.7.9" ]; then
91116 UPGRADE=0
@@ -113,20 +138,24 @@ onexit() {
113138 exit 0
114139}
115140# check if avail-light binary is available and check if upgrade variable is set to 0
116- if [ -f $HOME /.avail/bin/avail-light -a " $UPGRADE " = 0 ]; then
141+ if [ -f $AVAIL_BIN -a " $UPGRADE " = 0 ]; then
117142 echo " ✅ Avail is already installed. Starting Avail..."
118143 trap onexit EXIT
119- if [ -z " $config " ]; then
120- $HOME /.avail/bin/avail-light --network $NETWORK --app-id $APPID --identity $IDENTITY
121- else
122- $HOME /.avail/bin/avail-light --config $CONFIG --app-id $APPID --identity $IDENTITY
123- fi
144+ $HOME /.avail/bin/avail-light --config $CONFIG --app-id $APPID --identity $IDENTITY
124145 exit 0
125146fi
126147if [ " $UPGRADE " = 1 ]; then
127148 echo " 🔄 Upgrading Avail..."
128- if [ -f " $HOME /.avail/bin/avail-light" ]; then
129- rm $HOME /.avail/bin/avail-light
149+ if [ -f $AVAIL_BIN ]; then
150+ rm $AVAIL_BIN
151+ if [ -f $CONFIG ]; then
152+ rm $CONFIG
153+ touch $CONFIG
154+ echo $CONFIG_PARAMS >> $CONFIG
155+ fi
156+ if [ -d " $HOME /.avail/data" ]; then
157+ rm -rf $HOME /.avail/data
158+ fi
130159 else
131160 echo " 🤔 Avail was not installed with availup. Attemping to uninstall with cargo..."
132161 cargo uninstall avail-light || echo " 👀 Avail was not installed with cargo, upgrade might not be required!"
@@ -174,14 +203,10 @@ else
174203 # use tar to extract the downloaded file and move it to .avail/bin/ directory
175204 tar -xzf avail-light-$ARCH_STRING .tar.gz
176205 chmod +x avail-light-$ARCH_STRING
177- mv avail-light-$ARCH_STRING $HOME /.avail/bin/avail-light
206+ mv avail-light-$ARCH_STRING $AVAIL_BIN
178207 rm avail-light-$ARCH_STRING .tar.gz
179208fi
180209echo " ✅ Availup exited successfully."
181210echo " 🧱 Starting Avail."
182211trap onexit EXIT
183- if [ -z " $config " ]; then
184- $HOME /.avail/bin/avail-light --network $NETWORK --app-id $APPID --identity $IDENTITY
185- else
186- $HOME /.avail/bin/avail-light --config $CONFIG --app-id $APPID --identity $IDENTITY
187- fi
212+ $AVAIL_BIN --config $CONFIG --app-id $APPID --identity $IDENTITY
0 commit comments