diff --git a/forkmonq b/forkmonq index 51dad98..693abd2 100644 --- a/forkmonq +++ b/forkmonq @@ -225,7 +225,7 @@ if [[ $FARMERONLY != 1 ]]; then LASTHARVESTEPOCH=$(echo "$LASTHARVESTTIME" | DateToEpoch ) let LASTHARVESTAGO=$CURRENTTIME-$LASTHARVESTEPOCH LASTHARVESTAGO=$( printf "%ss ago" $LASTHARVESTAGO ) - PLOTCOUNT=$(sed 's/.*Total //' <<< "$LASTHARVESTERLINE" | sed 's/ plots//' | awk '{$1=$1};1') + PLOTCOUNT=$(sed 's/.*Total //' <<< "$LASTHARVESTERLINE" | sed 's/ plots//' | sed 's/ with staking.*//' | awk '{$1=$1};1') TODAYAVG=$(grep -a ^$TODAYSTAMP $TODAYLOGLIST | grep -a 'plots were eligible' | sed 's/\./\. /' | sed 's/\. .*Time://' | sed 's/ s\. Total.*//' | awk '{ total += $2; count++} END { if ( count > 0 ) print total/count }') YESTERDAYAVG=$(grep -a ^$YESTERDAYSTAMP $YESTERDAYLOGLIST | grep -a 'plots were eligible' | sed 's/\./\. /' | sed 's/\. .*Time://' | sed 's/ s\. Total.*//' | awk '{ total2 += $2; count2++} END { if ( count2 > 0 ) print total2/count2 }') TODAYMAX=$(grep -a ^$TODAYSTAMP $TODAYLOGLIST | grep -a ' [1-9].* plots were eligible' | sed 's/\./\. /' | sed 's/\. .*Time://' | sed 's/ s\. Total.*//' | awk '{print $2}' | sort -nr | head -n 1) diff --git a/forknodesq b/forknodesq index 38eb7ad..62cb8ec 100644 --- a/forknodesq +++ b/forknodesq @@ -6,11 +6,12 @@ function print_usage () { echo "SYNOPSIS: Prints a list of IP addresses and ports for all currently connected network nodes/peers" echo " for the specified fork in a format useful for sharing with others having difficulty connecting" echo " to the network." - echo " Prepends each node and port with 'forkname show -a' for easy CLI connection command" - echo " via cut and paste." + echo " Prepends each node and port with 'forkname show -a' (or 'forkname peers full_node -a' in" + echo " more recent versions of the chia code) for easy CLI connection command via cut and paste." echo echo "PARAMETERS:" - echo " forkname Required." + echo " forkname Required." + echo " -f Prepend 'fork ' to each line of output for sharing nodes with other forktools users." echo " -help | --help Show this information again." echo exit 0 @@ -19,11 +20,21 @@ function print_usage () { VALIDATEFORKNAME='Yes' . ftinit.sh +if [[ $2 == '-f' ]]; then + FORFORKTOOLS='fork ' +fi + cd $FORKTOOLSBLOCKCHAINDIRS/$1-blockchain . ./activate for port in $($1 show -c | grep "^FULL_NODE" | awk '{print $2,$3}' | sed 's/ [0-9]*\//:/' ); do - echo $1 "show -a" $port + SHOWSTILLWORKS=1 + echo $FORFORKTOOLS $1 "show -a" $port done +if [[ $SHOWSTILLWORKS != 1 ]]; then + for port in $($1 peer full_node -c | grep "^FULL_NODE" | awk '{print $2,$3}' | sed 's/ [0-9]*\//:/' ); do + echo $FORFORKTOOLS $1 "peer full_node -a" $port + done +fi echo deactivate diff --git a/forkpatchq b/forkpatchq index 8bc6592..bd00361 100644 --- a/forkpatchq +++ b/forkpatchq @@ -95,11 +95,23 @@ if [[ $2 == '-multiproc' ]]; then continue fi FINDNUMWORKERSKEY=$( grep -c '^ num_workers = max(cpu_count - 2, 1)$' $PROGRAMTOMOD ) + if [[ $FINDNUMWORKERSKEY > 0 ]]; then + CHIAPRE130=1 + else + CHIAPRE130=0 + FINDNUMWORKERSKEY=$( grep -c '^ num_workers = max(cpu_count - reserved_cores, 1)$' $PROGRAMTOMOD ) + if [[ $FINDNUMWORKERSKEY > 0 ]]; then + CHIAPRE134=1 + else + CHIAPRE134=0 + FINDNUMWORKERSKEY=$( grep -c '^ num_workers = max(cpu_count - reserved_cores, 1)$' $PROGRAMTOMOD ) + fi + fi if [[ $FINDNUMWORKERSKEY == 0 ]]; then echo "forkpatch: $FORKNAME failed code validation - num_workers code missing or has non-standard indendation. Skipping $FORKNAME." continue fi - FINDIMPORTKEY=$( grep -c "^from ${FORKNAMEINCODE}.util.streamable import recurse_jsonify$" $PROGRAMTOMOD ) + FINDIMPORTKEY=$( grep -c "^from ${FORKNAMEINCODE}.util.setproctitle import getproctitle, setproctitle$" $PROGRAMTOMOD ) if [[ $FINDIMPORTKEY == 0 ]]; then echo "forkpatch: $FORKNAME failed code validation - exact key needed for proper placement of from-import lines missing. Skipping $FORKNAME." continue @@ -108,8 +120,16 @@ if [[ $2 == '-multiproc' ]]; then echo "forkpatch: $FORKNAME deemed suitable for automated -multiproc patching. Attempting to mod $FORKNAME/consensus/blockchain.py." echo " blockchain.py will be backed up to $FORKNAME/consensus/blockchain.py.ftbackup" - sed -i.ftbackup "/^from ${FORKNAMEINCODE}.util.streamable import recurse_jsonify/a # Next two lines added by forkpatch -multiproc\nfrom ${FORKNAMEINCODE}.util.default_root import DEFAULT_ROOT_PATH\nfrom ${FORKNAMEINCODE}.util.config import load_config" $PROGRAMTOMOD - sed -i.ftbak "/^ num_workers = max(cpu_count - 2, 1)/a\ # Next three lines added by forkpatch -multiproc\n config = load_config(DEFAULT_ROOT_PATH, \"config.yaml\")\n if 'multiprocessing_limit' in config.keys():\n num_workers = min(num_workers, int(config[\"multiprocessing_limit\"]));" $PROGRAMTOMOD + if [[ $CHIAPRE130 == 1 ]]; then + sed -i.ftbackup "/^from ${FORKNAMEINCODE}.util.setproctitle import getproctitle, setproctitle/a # Next two lines added by forkpatch -multiproc\nfrom ${FORKNAMEINCODE}.util.default_root import DEFAULT_ROOT_PATH\nfrom ${FORKNAMEINCODE}.util.config import load_config" $PROGRAMTOMOD + sed -i.ftbak "/^ num_workers = max(cpu_count - 2, 1)/a\ # Next three lines added by forkpatch -multiproc\n config = load_config(DEFAULT_ROOT_PATH, \"config.yaml\")\n if 'multiprocessing_limit' in config.keys():\n num_workers = min(num_workers, int(config[\"multiprocessing_limit\"]));" $PROGRAMTOMOD + elif [[ $CHIAPRE134 == 1 ]]; then + sed -i.ftbackup "/^from ${FORKNAMEINCODE}.util.setproctitle import getproctitle, setproctitle/a # Next two lines added by forkpatch -multiproc\nfrom ${FORKNAMEINCODE}.util.default_root import DEFAULT_ROOT_PATH\nfrom ${FORKNAMEINCODE}.util.config import load_config" $PROGRAMTOMOD + sed -i.ftbak "/^ num_workers = max(cpu_count - reserved_cores, 1)/a\ # Next three lines added by forkpatch -multiproc\n config = load_config(DEFAULT_ROOT_PATH, \"config.yaml\")\n if 'multiprocessing_limit' in config.keys():\n num_workers = min(num_workers, int(config[\"multiprocessing_limit\"]));" $PROGRAMTOMOD + else + sed -i.ftbackup "/^from ${FORKNAMEINCODE}.util.setproctitle import getproctitle, setproctitle/a # Next two lines added by forkpatch -multiproc\nfrom ${FORKNAMEINCODE}.util.default_root import DEFAULT_ROOT_PATH\nfrom ${FORKNAMEINCODE}.util.config import load_config" $PROGRAMTOMOD + sed -i.ftbak "/^ num_workers = max(cpu_count - reserved_cores, 1)/a\ # Next three lines added by forkpatch -multiproc\n config = load_config(DEFAULT_ROOT_PATH, \"config.yaml\")\n if 'multiprocessing_limit' in config.keys():\n num_workers = min(num_workers, int(config[\"multiprocessing_limit\"]));" $PROGRAMTOMOD + fi rm ${PROGRAMTOMOD}.ftbak else echo "forkpatch: $FORKNAME code $PROGRAMTOMOD not found. Skipping $FORKNAME." diff --git a/forkupdateq b/forkupdateq index 728dba7..5d98942 100644 --- a/forkupdateq +++ b/forkupdateq @@ -80,7 +80,7 @@ OLDIFS=$IFS IFS='' while read line; do WORKLINE=$(sed 's/#.*//' <<< "$line" ) # This removes any comments from consideration for alteration - TESTSECTION=$(c1grep -e '^harvester:' -e '^pool:' -e '^farmer:' -e '^full_node:' -e '^timelord:' -e '^timelord_launcher:' -e '^ui:' -e '^introducer:' -e '^wallet:' -e '^logging:' <<< "$WORKLINE" ) + TESTSECTION=$(c1grep -e '^harvester:' -e '^pool:' -e '^farmer:' -e '^full_node:' -e '^timelord:' -e '^timelord_launcher:' -e '^ui:' -e '^introducer:' -e '^wallet:' -e '^logging:' -e '^seeder:' -e '^data_layer:' <<< "$WORKLINE" ) if [[ $TESTSECTION != '' && $TESTSECTION != $SECTION ]]; then SECTION=$TESTSECTION fi @@ -112,18 +112,32 @@ while read line; do if [[ $SECTION == *pool:* && $POOLLISTSECTION == 1 ]]; then SETPOOLLIST+=$( printf '\n%s' $line ) fi + if [[ $SECTION == *full_node:* && $WORKLINE == *database_path:* && $WORKLINE != *simulator_database_path:* ]]; then + ORIGMAINDBPATH=$(grep " database_path: " <<< "$WORKLINE" | sed 's/.*database_path: //' | sed 's/"//g' | sed 's/'\''//g' | awk '{$1=$1};1') + fi + if [[ $SECTION == *data_layer:* && $WORKLINE == *database_path:* && $WORKLINE != *simulator_database_path:* ]]; then + ORIGDATALAYERDBPATH=$(grep " database_path: " <<< "$WORKLINE" | sed 's/.*database_path: //' | sed 's/"//g' | sed 's/'\''//g' | awk '{$1=$1};1') + fi + if [[ $SECTION == *wallet:* && $WORKLINE == *database_path* ]]; then + ORIGWALLETDBPATH=$(grep " database_path: " <<< "$WORKLINE" | sed 's/.*database_path: //' | sed 's/"//g' | sed 's/'\''//g' | awk '{$1=$1};1') + fi + done < $CURRENTCONFIG IFS=$OLDIFS ORIGMULTIPROC=$(grep "multiprocessing_limit" $CURRENTCONFIG ) + echo echo "During forkupdate, a fresh config.yaml will be generated by 'fork init' in order to add any new parameters." echo "The following values are being read from the current config.yaml for transfer to the new config.yaml at the end of forkupdate." -echo " Farmer peer : " $FARMERPEER -echo " Farmer target address : " $SETFARMTARGET -echo " Pool target address : " $SETPOOLTARGET -echo " Multiprocessing_limit : " $ORIGMULTIPROC +echo " Farmer peer : " $FARMERPEER +echo " Farmer target address : " $SETFARMTARGET +echo " Pool target address : " $SETPOOLTARGET +echo " Multiprocessing_limit : " $ORIGMULTIPROC +echo " Main database path : " $ORIGMAINDBPATH +echo " Wallet database path : " $ORIGWALLETDBPATH +echo " Data Layer database path : " $ORIGDATALAYERDBPATH if [[ $SETPOOLLIST != '' ]]; then echo "Standard chia pooling parameters detected. Preserving pool_list parameters:" OLDIFS=$IFS @@ -193,7 +207,7 @@ LINENUMBER=0 while read line; do ((LINENUMBER=$LINENUMBER+1)) WORKLINE=$(sed 's/#.*//' <<< "$line" ) # This removes any comments from consideration for alteration - TESTSECTION=$(c1grep -e '^harvester:' -e '^pool:' -e '^farmer:' -e '^full_node:' -e '^timelord:' -e '^timelord_launcher:' -e '^ui:' -e '^introducer:' -e '^wallet:' -e '^logging:' <<< "$WORKLINE" ) + TESTSECTION=$(c1grep -e '^harvester:' -e '^pool:' -e '^farmer:' -e '^full_node:' -e '^timelord:' -e '^timelord_launcher:' -e '^ui:' -e '^introducer:' -e '^wallet:' -e '^logging:' -e '^seeder:' -e '^data_layer:' <<< "$WORKLINE" ) if [[ $TESTSECTION != '' && $TESTSECTION != $SECTION ]]; then SECTION=$TESTSECTION fi @@ -213,7 +227,19 @@ while read line; do fi if [[ $SECTION == *farmer:* && $WORKLINE == *pool_share_threshold:* ]]; then POOLSHARETHRESHOLDLINENO=$LINENUMBER - fi + fi + if [[ $SECTION == *full_node:* && $WORKLINE == *database_path:* && $WORKLINE != *simulator_database_path:* ]]; then + NEWMAINDBPATH=$(grep " database_path: " <<< "$WORKLINE" | sed 's/.*database_path: //' | sed 's/"//g' | sed 's/'\''//g' | awk '{$1=$1};1') + NEWMAINDBLINENO=$LINENUMBER + fi + if [[ $SECTION == *wallet:* && $WORKLINE == *database_path:* && $WORKLINE != *simulator_database_path:* ]]; then + NEWWALLETDBPATH=$(grep " database_path: " <<< "$WORKLINE" | sed 's/.*database_path: //' | sed 's/"//g' | sed 's/'\''//g' | awk '{$1=$1};1') + NEWWALLETDBLINENO=$LINENUMBER + fi + if [[ $SECTION == *data_layer:* && $WORKLINE == *database_path:* && $WORKLINE != *simulator_database_path:* ]]; then + NEWDATALAYERDBPATH=$(grep " database_path: " <<< "$WORKLINE" | sed 's/.*database_path: //' | sed 's/"//g' | sed 's/'\''//g' | awk '{$1=$1};1') + NEWDATALAYERDBLINENO=$LINENUMBER + fi done < "$CURRENTCONFIG" IFS=$OLDIFS @@ -227,6 +253,11 @@ else echo " This is normal when this is just a harvester. If this is a farmer, make sure to edit your addresses." fi +echo "forkupdate: Setting main, wallet and data_layer database paths to pre-forkupdate values." +sed -i.bak "${NEWMAINDBLINENO}s|${NEWMAINDBPATH}|${ORIGMAINDBPATH}|" $CURRENTCONFIG +sed -i.bak "${NEWWALLETDBLINENO}s|${NEWWALLETDBPATH}|${ORIGWALLETDBPATH}|" $CURRENTCONFIG +sed -i.bak "${NEWDATALAYERDBLINENO}s|${NEWDATALAYERDBPATH}|${ORIGDATALAYERDBPATH}|" $CURRENTCONFIG + # For the following inserts, make sure to work from the end of the file backwards. That way our inserts don't change line numbers captured above. # Multiproc gets appended at the end, so do that first. # Then standard chia pooling which is in the 'pool:' section diff --git a/ftfixconfig.sh b/ftfixconfig.sh index c6fc2aa..8abf805 100644 --- a/ftfixconfig.sh +++ b/ftfixconfig.sh @@ -14,21 +14,21 @@ while read line; do ((LINENUMBER=$LINENUMBER+1)) PRESERVECOMMENT=$(grep '#' <<< "$line" | sed 's/.*#/#/') WORKLINE=$(sed 's/#.*//' <<< "$line" ) # This removes any comments from consideration for alteration - TESTSECTION=$(grep -e '^harvester:' -e '^farmer:' -e '^full_node:' -e '^timelord:' -e '^timelord_launcher:' -e '^ui:' -e '^introducer:' -e '^wallet:' -e '^pool:' -e '^logging:' <<< "$WORKLINE" ) + TESTSECTION=$(grep -e '^harvester:' -e '^farmer:' -e '^full_node:' -e '^timelord:' -e '^timelord_launcher:' -e '^ui:' -e '^introducer:' -e '^wallet:' -e '^pool:' -e '^logging:' -e '^data_layer:' <<< "$WORKLINE" ) if [[ $TESTSECTION != '' && $TESTSECTION != $SECTION ]]; then SECTION=$TESTSECTION fi - if [[ $SETLOGLEVEL != '' && ($SECTION == *logging:* || $SECTION == *farmer:*) && $WORKLINE == *log_level:* ]]; + if [[ $SETLOGLEVEL != '' && ($SECTION == *logging:* || $SECTION == *farmer:* || $SECTION == *data_layer:*) && $WORKLINE == *log_level:* ]]; then OLDLOGLEVEL=$(sed 's/log_level: //' <<< "$WORKLINE" | sed 's/"//g' | sed 's/'\''//g' | awk '{$1=$1};1') NEWLOGLEVEL=$(sed "s/$OLDLOGLEVEL/$SETLOGLEVEL/" <<< "$WORKLINE")$PRESERVECOMMENT OLDLOGLEVEL=$line continue fi - if [[ $SETMAXLOGROTATION != '' && ($SECTION == *logging:* || $SECTION == *farmer:*) && $WORKLINE == *log_maxfilesrotation:* ]]; + if [[ $SETMAXLOGROTATION != '' && ($SECTION == *logging:* || $SECTION == *farmer:* || $SECTION == *data_layer:*) && $WORKLINE == *log_maxfilesrotation:* ]]; then OLDROTATION=$(sed 's/log_maxfilesrotation: //' <<< "$WORKLINE" | awk '{$1=$1};1') NEWROTATION=$(sed "s/$OLDROTATION/$SETMAXLOGROTATION/" <<< "$WORKLINE")$PRESERVECOMMENT diff --git a/ftparseports.sh b/ftparseports.sh index efa0327..dc57417 100644 --- a/ftparseports.sh +++ b/ftparseports.sh @@ -3,6 +3,8 @@ IFS='' # Get all ports. Uses c1grep function instead of grep so as to not trigger ERROR trap code 1 (no line found) which is intended MEMORYCONFIG=$(cat $CURRENTCONFIG | c1grep -e '^harvester:' -e '^farmer:' -e '^full_node:' -e '^timelord:' -e '^timelord_launcher:' -e '^ui:' -e '^introducer:' -e '^wallet:' -e '^logging:' -e 'port: ' -e '_peer:' -e 'vdf_server:' ) + SECTION='' + TESTSECTION='' while read line; do WORKLINE=$(sed 's/#.*//' <<< "$line" ) # This removes any comments from consideration for alteration if [[ $WORKLINE == *default_full_node_port* || $WORKLINE == *log_syslog_port* ]]; then @@ -65,7 +67,7 @@ TIMELORDPORT=$(sed 's/port: //' <<< "$WORKLINE" | awk '{$1=$1};1') continue fi - if [[ $WORKLINE == *daemon_port:* ]]; then + if [[ $SECTION != *ui:* && $WORKLINE == *daemon_port:* ]]; then DAEMONPORT=$(sed 's/daemon_port: //' <<< "$WORKLINE" | awk '{$1=$1};1') continue fi diff --git a/ftplatformfuncs.sh b/ftplatformfuncs.sh index 6f8ea5f..02a9259 100644 --- a/ftplatformfuncs.sh +++ b/ftplatformfuncs.sh @@ -85,7 +85,7 @@ if [[ $OSTYPE == 'darwin'* ]]; then # ps -x -o rss= -p $(pgrep ^${fork}_) | awk '{ sum +=$1/1024 } END {printf "%7.0f MB\n", sum}' OLDIFS=$IFS IFS='' - MEMPIDLIST=$( echo $PROCESSEF | grep ${fork}-blockchain | awk {'print$2'} ) + MEMPIDLIST=$( echo $PROCESSEF | grep " ${fork}-blockchain" | awk {'print$2'} ) IFS=$'\n' ps -x -o rss= -p $(echo $MEMPIDLIST) | awk '{ sum +=$1/1024 } END {printf "%7.0f MB\n", sum}' IFS=$OLDIFS @@ -188,7 +188,7 @@ else function forkmemory () { OLDIFS=$IFS IFS='' - MEMPIDLIST=$( echo $PROCESSEF | grep ${fork}-blockchain | awk {'print$2'} ) + MEMPIDLIST=$( echo $PROCESSEF | grep " ${fork}-blockchain" | awk {'print$2'} ) IFS=$'\n' for pid in $MEMPIDLIST; do awk '/Pss:/{ sum += $2 } END { print sum }' /proc/${pid}/smaps diff --git a/ftsymlinks.sh b/ftsymlinks.sh index da4ba88..9289080 100644 --- a/ftsymlinks.sh +++ b/ftsymlinks.sh @@ -27,6 +27,11 @@ if [[ ( -d "$FORKTOOLSBLOCKCHAINDIRS/silicoin-blockchain" ) && ( ! -d "$FORKTOOL printf 'Created symlink: ' ln -sv $FORKTOOLSBLOCKCHAINDIRS/silicoin-blockchain $FORKTOOLSBLOCKCHAINDIRS/sit-blockchain fi +if [[ ( -d "$FORKTOOLSBLOCKCHAINDIRS/ballcoin-blockchain" ) && ( ! -d "$FORKTOOLSBLOCKCHAINDIRS/ball-blockchain" ) ]]; then + printf 'Created symlink: ' + ln -sv $FORKTOOLSBLOCKCHAINDIRS/ballcoin-blockchain $FORKTOOLSBLOCKCHAINDIRS/ball-blockchain +fi + # Symlink creation for .hidden dirs if [[ ( -d "$FORKTOOLSHIDDENDIRS/.spare-blockchain" ) && ( ! -d "$FORKTOOLSHIDDENDIRS/.spare" ) ]]; then @@ -58,6 +63,13 @@ if [[ ( -d "$FORKTOOLSHIDDENDIRS/.chiarose" ) && ( ! -d "$FORKTOOLSHIDDENDIRS/.r ln -sv $FORKTOOLSHIDDENDIRS/.chiarose $FORKTOOLSHIDDENDIRS/.rose fi +# Symlink creation for mainnet folder +if [[ ( -d "$FORKTOOLSHIDDENDIRS/.chinilla/vanillanet" ) && ( ! -d "$FORKTOOLSHIDDENDIRS/.chinilla/mainnet" ) ]]; then + printf 'Created symlink: ' + ln -sv $FORKTOOLSHIDDENDIRS/.chinilla/vanillanet $FORKTOOLSHIDDENDIRS/.chinilla/mainnet +fi + + # Symlink creation for code directories if [[ ( -d "$FORKTOOLSBLOCKCHAINDIRS/silicoin-blockchain/chia" ) && ( ! -d "$FORKTOOLSBLOCKCHAINDIRS/silicoin-blockchain/sit" ) ]]; then @@ -84,6 +96,19 @@ if [[ ( -d "$FORKTOOLSBLOCKCHAINDIRS/flora-blockchain/chia" ) && ( ! -d "$FORKTO printf 'Created symlink: ' ln -sv $FORKTOOLSBLOCKCHAINDIRS/flora-blockchain/chia $FORKTOOLSBLOCKCHAINDIRS/flora-blockchain/flora fi +if [[ ( -d "$FORKTOOLSBLOCKCHAINDIRS/bpx-blockchain/chia" ) && ( ! -d "$FORKTOOLSBLOCKCHAINDIRS/bpx-blockchain/bpx" ) ]]; then + printf 'Created symlink: ' + ln -sv $FORKTOOLSBLOCKCHAINDIRS/bpx-blockchain/chia $FORKTOOLSBLOCKCHAINDIRS/bpx-blockchain/bpx +fi +if [[ ( -d "$FORKTOOLSBLOCKCHAINDIRS/gold-blockchain/chia" ) && ( ! -d "$FORKTOOLSBLOCKCHAINDIRS/gold-blockchain/gold" ) ]]; then + printf 'Created symlink: ' + ln -sv $FORKTOOLSBLOCKCHAINDIRS/gold-blockchain/chia $FORKTOOLSBLOCKCHAINDIRS/gold-blockchain/gold +fi +if [[ ( -d "$FORKTOOLSBLOCKCHAINDIRS/petroleum-blockchain/chia" ) && ( ! -d "$FORKTOOLSBLOCKCHAINDIRS/petroleum-blockchain/petroleum" ) ]]; then + printf 'Created symlink: ' + ln -sv $FORKTOOLSBLOCKCHAINDIRS/petroleum-blockchain/chia $FORKTOOLSBLOCKCHAINDIRS/petroleum-blockchain/petroleum +fi + # Symlink creation for executables @@ -100,3 +125,4 @@ if [[ ( -f "$FORKTOOLSBLOCKCHAINDIRS/fishery-blockchain/venv/bin/chia" ) && ( ! ln -sv $FORKTOOLSBLOCKCHAINDIRS/fishery-blockchain/venv/bin/chia $FORKTOOLSBLOCKCHAINDIRS/fishery-blockchain/venv/bin/fishery fi +