diff --git a/20h12.process.sh b/20h12.process.sh
index 4c485462a..09a52094f 100755
--- a/20h12.process.sh
+++ b/20h12.process.sh
@@ -64,7 +64,7 @@ espeak "REFRESHING UPLANET" > /dev/null 2>&1
espeak "bootstrap refresh" > /dev/null 2>&1
ipfs bootstrap rm --all > /dev/null 2>&1
- for bootnode in $(cat ~/.zen/Astroport.ONE/A_boostrap_nodes.txt | grep -Ev "#") # remove comments
+ for bootnode in $(cat ~/.zen/Astroport.ONE/A_boostrap_nodes.txt | grep -Ev "#" | rev | cut -d '/' -f 1 | rev | grep -v '^[[:space:]]*$') # remove comments & empty lines
do
ipfsnodeid=${bootnode##*/}
ipfs bootstrap add $bootnode
diff --git a/RUNTIME/SECTOR.refresh.sh b/RUNTIME/SECTOR.refresh.sh
index 44a5a8414..b19127ca9 100755
--- a/RUNTIME/SECTOR.refresh.sh
+++ b/RUNTIME/SECTOR.refresh.sh
@@ -8,130 +8,165 @@ MY_PATH="`dirname \"$0\"`" # relative
MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized
. "$MY_PATH/../tools/my.sh"
################################################################################
+start=`date +%s`
## SECTOR REFRESH
# SHARE & UPDATE IPNS TOGETHER
############################################
echo "## RUNNING SECTOR.refresh"
[[ ${IPFSNODEID} == "" ]] && echo "IPFSNODEID is empty - EXIT -" && exit 1
+MOATS=$(date -u +"%Y%m%d%H%M%S%4N")
+mkdir ~/.zen/tmp/${MOATS}
+
## CALLED BY UPLANET.refresh.sh
-LAT=$1
-LON=$2
-MOATS=$3
-UMAP=$4
-SECTORNODE=$5
+for i in $*; do
+ UMAPS=("$i" ${UMAPS[@]})
+done
-[[ ! -d ~/.zen/tmp/${MOATS-undefined}/${UMAP-undefined} ]] && echo "MISSING UMAP CONTEXT" && exit 1
+######## INIT SECTORS ########################
+for UMAP in ${UMAPS[@]}; do
-SLAT="${LAT::-1}"
-SLON="${LON::-1}"
-SECTOR="_${SLAT}_${SLON}"
-echo "SECTOR ${SECTOR}"
-[[ -s ~/.zen/tmp/${MOATS}/${UMAP}/${SECTOR}/index.html ]] && echo "ALREADY DONE" && exit 0
+ LAT=$(echo ${UMAP} | cut -d '_' -f 2)
+ LON=$(echo ${UMAP} | cut -d '_' -f 3)
-[[ "${SECTORNODE}" == "${IPFSNODEID}" ]] && echo ">> MANAGING SECTOR PUBLICATION" || exit 0
+ [[ ${LAT} == "" || ${LON} == "" ]] && echo ">> ERROR BAD ${LAT} ${LON}" && continue
+ [[ ${LAT} == "null" || ${LON} == "null" ]] && echo ">> ERROR BAD ${LAT} ${LON}" && continue
+
+ SLAT="${LAT::-1}"
+ SLON="${LON::-1}"
+
+ MYSECTORS=("_${SLAT}_${SLON}" ${MYSECTORS[@]})
+
+done
+
+SECTORS=($(echo "${MYSECTORS[@]}" | tr ' ' '\n' | sort -u))
+
+[[ ${SECTORS[@]} == "" ]] && echo "NO SECTOR FOUND" && exit 0
+#########################################################""
+echo ${SECTORS[@]}
+
+for SECTOR in ${SECTORS[@]}; do
+
+ echo "SECTOR ${SECTOR}"
+ mkdir -p ~/.zen/tmp/${MOATS}/${SECTOR}/CHAIN
+
+ ##############################################################
+ SECTORG1PUB=$(${MY_PATH}/../tools/keygen -t duniter "${SECTOR}" "${SECTOR}")
+ [[ ! ${SECTORG1PUB} ]] && echo "ERROR generating SECTOR WALLET" && exit 1
+ COINS=$($MY_PATH/../tools/COINScheck.sh ${SECTORG1PUB} | tail -n 1)
+ echo "SECTOR : ${SECTOR} (${COINS} G1) WALLET : ${SECTORG1PUB}"
+
+ ${MY_PATH}/../tools/keygen -t ipfs -o ~/.zen/tmp/${MOATS}/${SECTOR}.priv "${SECTOR}" "${SECTOR}"
+ ipfs key rm ${SECTORG1PUB} > /dev/null 2>&1 ## AVOID ERROR ON IMPORT
+ SECTORNS=$(ipfs key import ${SECTORG1PUB} -f pem-pkcs8-cleartext ~/.zen/tmp/${MOATS}/${SECTOR}.priv)
+ rm ~/.zen/tmp/${MOATS}/${SECTOR}.priv
+
+ # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+ # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+ #~ ## IPFS GET ONLINE SECTORNS
+ ipfs --timeout 42s get -o ~/.zen/tmp/${MOATS}/${SECTOR}/ /ipns/${SECTORNS}/
+ # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+ # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+ ## CONTROL CHAIN TIME
+ ZCHAIN=$(cat ~/.zen/tmp/${MOATS}/${SECTOR}/CHAIN/_chain | rev | cut -d ':' -f 1 | rev 2>/dev/null)
+ ZMOATS=$(cat ~/.zen/tmp/${MOATS}/${SECTOR}/CHAIN/_moats 2>/dev/null)
+ [[ ${ZCHAIN} && ${ZMOATS} ]] \
+ && cp ~/.zen/tmp/${MOATS}/${SECTOR}/CHAIN/_chain ~/.zen/tmp/${MOATS}/${SECTOR}/CHAIN/_chain.${ZMOATS} \
+ && echo "UPDATING MOATS"
+
+ MOATS_SECONDS=$(${MY_PATH}/../tools/MOATS2seconds.sh ${MOATS})
+ ZMOATS_SECONDS=$(${MY_PATH}/../tools/MOATS2seconds.sh ${ZMOATS})
+ DIFF_SECONDS=$((MOATS_SECONDS - ZMOATS_SECONDS))
+ echo "SECTOR DATA is about ${DIFF_SECONDS} seconds old"
+ [ ${DIFF_SECONDS} -lt 36000 ] && echo "less than 10 hours... CONTINUE." && continue
+
+ # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+ ## CONTROL ACTINGNODE SWAPPING
+ UREFRESH="${HOME}/.zen/tmp/${MOATS}/${SECTOR}/CHAIN/SECTOR.refresher"
+ ALLNODES=($(cat ${UREFRESH} 2>/dev/null)) # ${ALLNODES[@]}
+ STRAPS=($(cat ~/.zen/Astroport.ONE/A_boostrap_nodes.txt | grep -Ev "#" | rev | cut -d '/' -f 1 | rev | grep -v '^[[:space:]]*$')) ## ${STRAPS[@]}
+
+ if [[ ${ALLNODES[@]} == "" ]]; then
+ for STRAP in ${STRAPS[@]}; do
+ echo ${STRAP} >> ${UREFRESH} ## FILL UMAP.refresher file with all STRAPS
+ done
+ ALLNODES=($(cat ${UREFRESH} 2>/dev/null)) # ${ALLNODES[@]}
+ fi
+
+ ACTINGNODE=${ALLNODES[1]} ## FIST NODE IN UMAP.refresher
+
+ [[ "${ACTINGNODE}" != "${IPFSNODEID}" ]] \
+ && echo ">> ACTINGNODE=${ACTINGNODE} is not ME - CONTINUE -" \
+ && continue
+
+### NEXT REFRESHER SHUFFLE
+ for STRAP in ${STRAPS[@]}; do
+ echo ${STRAP} > ${UREFRESH} ## FILL UMAP.refresher file with all STRAPS
+ done
+ # SHUFFLE UMAP.refresher
+ cat ${UREFRESH} | sort | uniq | shuf > ${UREFRESH}.shuf
+ mv ${UREFRESH}.shuf ${UREFRESH}
+ echo ">> NEXT REFRESHER WILL BE $(cat ${UREFRESH} | head -n 1)"
##############################################################
-SECTORG1PUB=$(${MY_PATH}/../tools/keygen -t duniter "${SECTOR}" "${SECTOR}")
-[[ ! ${SECTORG1PUB} ]] && echo "ERROR generating SECTOR WALLET" && exit 1
- COINS=$($MY_PATH/../tools/COINScheck.sh ${SECTORG1PUB} | tail -n 1)
- echo "SECTOR : ${SECTOR} (${COINS} G1) WALLET : ${SECTORG1PUB}"
+ ## FEED SECTOR TW WITH UMAPS RSS
+ [[ ! -d ~/.zen/tmp/${MOATS}/${SECTOR}/TW ]] \
+ && mkdir -p ~/.zen/tmp/${MOATS}/${SECTOR}/TW
-${MY_PATH}/../tools/keygen -t ipfs -o ~/.zen/tmp/${MOATS}/SECTOR.priv "${SECTOR}" "${SECTOR}"
-ipfs key rm ${SECTORG1PUB} > /dev/null 2>&1 ## AVOID ERROR ON IMPORT
-SECTORNS=$(ipfs key import ${SECTORG1PUB} -f pem-pkcs8-cleartext ~/.zen/tmp/${MOATS}/SECTOR.priv)
+ ## NEW TW TEMPLATE
+ [[ ! -s ~/.zen/tmp/${MOATS}/${SECTOR}/TW/index.html ]] \
+ && sed "s~_SECTOR_~${SECTOR}~g" ${MY_PATH}/../templates/empty.html > ~/.zen/tmp/${MOATS}/${SECTOR}/TW/index.html
-## PROTOCOL UPDATE : TODO REMOVE
-rm -f ~/.zen/tmp/${MOATS}/${UMAP}/SECTOR*.html
+ INDEX="${HOME}/.zen/tmp/${MOATS}/${SECTOR}/TW/index.html"
-mkdir -p ~/.zen/tmp/${MOATS}/${UMAP}/${SECTOR}/
-echo "" > ~/.zen/tmp/${MOATS}/${UMAP}/${SECTOR}/index.html
+ ## GET ALL RSS json's AND Feed SECTOR TW with it
+ RSSNODE=($(ls ~/.zen/tmp/${IPFSNODEID}/UPLANET/_${SLAT}*_${SLON}*/RSS/*.rss.json 2>/dev/null))
+ NL=${#RSSNODE[@]}
-SECTORMAPGEN="/ipfs/QmReVMqhMNcKWijAUVmj3EDmHQNfztVUT413m641eV237z/Umap.html?southWestLat=${SLAT}&southWestLon=${SLON}°=0.1&ipns=${SECTORNS}/TW"
-SECTORSATGEN="/ipfs/QmReVMqhMNcKWijAUVmj3EDmHQNfztVUT413m641eV237z/Usat.html?southWestLat=${SLAT}&southWestLon=${SLON}°=0.1&ipns=${SECTORNS}/TW"
-echo "" > ~/.zen/tmp/${MOATS}/${UMAP}/SECTOR${SECTOR}.Map.html
-echo "" > ~/.zen/tmp/${MOATS}/${UMAP}/SECTOR${SECTOR}.Sat.html
+ for RSS in ${RSSNODE[@]}; do
+
+ ${MY_PATH}/../tools/RSS2UPlanetTW.sh "${RSS}" "${SECTOR}" "${MOATS}" "${INDEX}"
+
+ done
+
+ RSSWARM=($(ls ~/.zen/tmp/swarm/12D*/UPLANET/_${SLAT}*_${SLON}*/RSS/*.rss.json 2>/dev/null))
+ NS=${#RSSWARM[@]}
+
+ for RSS in ${RSSWARM[@]}; do
+
+ ${MY_PATH}/../tools/RSS2UPlanetTW.sh "${RSS}" "${SECTOR}" "${MOATS}" "${INDEX}"
+
+ done
##############################################################
-
- # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- #~ ## IPFS GET ONLINE SECTORNS
- mkdir ~/.zen/tmp/${MOATS}/${SECTOR}
- ipfs --timeout 42s get -o ~/.zen/tmp/${MOATS}/${SECTOR}/ /ipns/${SECTORNS}/
- # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- ## CONTROL CHAIN TIME
- ZCHAIN=$(cat ~/.zen/tmp/${MOATS}/${SECTOR}/CHAIN/_chain | rev | cut -d ':' -f 1 | rev 2>/dev/null)
- ZMOATS=$(cat ~/.zen/tmp/${MOATS}/${SECTOR}/CHAIN/_moats 2>/dev/null)
- [[ ${ZCHAIN} && ${ZMOATS} ]] \
- && cp ~/.zen/tmp/${MOATS}/${SECTOR}/CHAIN/_chain ~/.zen/tmp/${MOATS}/${SECTOR}/CHAIN/_chain.${ZMOATS} \
- && echo "UPDATING MOATS"
-
- MOATS_SECONDS=$(${MY_PATH}/../tools/MOATS2seconds.sh ${MOATS})
- ZMOATS_SECONDS=$(${MY_PATH}/../tools/MOATS2seconds.sh ${ZMOATS})
- DIFF_SECONDS=$((MOATS_SECONDS - ZMOATS_SECONDS))
- echo "SECTOR DATA is about ${DIFF_SECONDS} seconds old"
- [ ${DIFF_SECONDS} -lt 36000 ] && echo "less than 10 hours... EXIT." && exit 0
-
- ## INIT TW WITH TEMPLATE
- [[ ! -d ~/.zen/tmp/${MOATS}/${SECTOR}/TW ]] \
- && mkdir -p ~/.zen/tmp/${MOATS}/${SECTOR}/TW
-
- ## NEW TW TEMPLATE ( UPDATE PROTOCOL SWITCHING index.html / index.htm )
- rm ~/.zen/tmp/${MOATS}/${SECTOR}/TW/index.htm ## TODO REMOVE
- [[ ! -s ~/.zen/tmp/${MOATS}/${SECTOR}/TW/index.html ]] \
- && sed "s~_SECTOR_~${SECTOR}~g" ${MY_PATH}/../templates/empty.html > ~/.zen/tmp/${MOATS}/${SECTOR}/TW/index.html
-
- INDEX="${HOME}/.zen/tmp/${MOATS}/${SECTOR}/TW/index.html"
-
- ## GET ALL RSS json's AND Feed SECTOR TW with it
- RSSNODE=($(ls ~/.zen/tmp/${IPFSNODEID}/UPLANET/_${SLAT}*_${SLON}*/RSS/*.rss.json 2>/dev/null))
- NL=${#RSSNODE[@]}
-
- for RSS in ${RSSNODE[@]}; do
-
- ${MY_PATH}/../tools/RSS2UPlanetTW.sh "${RSS}" "${SECTOR}" "${MOATS}" "${INDEX}"
-
- done
-
- RSSWARM=($(ls ~/.zen/tmp/swarm/*/UPLANET/_${SLAT}*_${SLON}*/RSS/*.rss.json 2>/dev/null))
- NS=${#RSSWARM[@]}
-
- for RSS in ${RSSWARM[@]}; do
-
- ${MY_PATH}/../tools/RSS2UPlanetTW.sh "${RSS}" "${SECTOR}" "${MOATS}" "${INDEX}"
-
- done
-
- TOTL=$((${NL}+${NS}))
+ TOTL=$((${NL}+${NS}))
echo "Number of RSS : "${TOTL}
- rm ~/.zen/tmp/${MOATS}/${SECTOR}/N_RSS*
- echo ${TOTL} > ~/.zen/tmp/${MOATS}/${SECTOR}/N_RSS_${TOTL}
+ rm ~/.zen/tmp/${MOATS}/${SECTOR}/N_RSS*
+ echo ${TOTL} > ~/.zen/tmp/${MOATS}/${SECTOR}/N_RSS_${TOTL}
###################################################### CHAINING BACKUP
- mkdir -p ~/.zen/tmp/${MOATS}/${SECTOR}/CHAIN/
- IPFSPOP=$(ipfs add -rwq ~/.zen/tmp/${MOATS}/${SECTOR}/* | tail -n 1)
+ IPFSPOP=$(ipfs add -rwq ~/.zen/tmp/${MOATS}/${SECTOR}/* | tail -n 1)
- ## DOES CHAIN CHANGED or INIT ?
- [[ ${ZCHAIN} != ${IPFSPOP} || ${ZCHAIN} == "" ]] \
- && echo "${MOATS}:${IPFSNODEID}:${IPFSPOP}" > ~/.zen/tmp/${MOATS}/${SECTOR}/CHAIN/_chain \
- && echo "${MOATS}" > ~/.zen/tmp/${MOATS}/${SECTOR}/CHAIN/_moats \
- && IPFSPOP=$(ipfs add -rwq ~/.zen/tmp/${MOATS}/${SECTOR}/* | tail -n 1) && echo "ROOT was ${ZCHAIN}"
+ ## DOES CHAIN CHANGED or INIT ?
+ [[ ${ZCHAIN} != ${IPFSPOP} || ${ZCHAIN} == "" ]] \
+ && echo "${MOATS}:${IPFSNODEID}:${IPFSPOP}" > ~/.zen/tmp/${MOATS}/${SECTOR}/CHAIN/_chain \
+ && echo "${MOATS}" > ~/.zen/tmp/${MOATS}/${SECTOR}/CHAIN/_moats \
+ && IPFSPOP=$(ipfs add -rwq ~/.zen/tmp/${MOATS}/${SECTOR}/* | tail -n 1) && echo "ROOT was ${ZCHAIN}"
######################################################
- (
- echo "PUBLISHING ${SECTOR} ${myIPFS}/ipns/${SECTORNS}"
- start=`date +%s`
- ipfs name publish -k ${SECTORG1PUB} /ipfs/${IPFSPOP}
- ipfs key rm ${SECTORG1PUB} > /dev/null 2>&1
- end=`date +%s`
- echo "(SECTOR) PUBLISH time was "`expr $end - $start` seconds.
- ) &
+ (
+ echo "PUBLISHING ${SECTOR} ${myIPFS}/ipns/${SECTORNS}"
+ start=`date +%s`
+ ipfs name publish -k ${SECTORG1PUB} /ipfs/${IPFSPOP}
+ ipfs key rm ${SECTORG1PUB} > /dev/null 2>&1
+ end=`date +%s`
+ echo "(SECTOR) PUBLISH time was "`expr $end - $start` seconds.
+ ) &
######################################################
+done
diff --git a/RUNTIME/UPLANET.refresh.sh b/RUNTIME/UPLANET.refresh.sh
index 518e8b5d3..0abfd3e5b 100755
--- a/RUNTIME/UPLANET.refresh.sh
+++ b/RUNTIME/UPLANET.refresh.sh
@@ -122,7 +122,7 @@ mkdir ~/.zen/tmp/${MOATS}
## NEXT REFRESHER
# TODO: INTRODUCE NODE BALANCE AND CHOOSE THE MOST CONFIDENT ONE
for STRAP in ${STRAPS[@]}; do
- echo ${STRAP} >> ${UREFRESH} ## FILL UMAP.refresher file with all STRAPS
+ echo ${STRAP} > ${UREFRESH} ## FILL UMAP.refresher file with all STRAPS
done
# SHUFFLE UMAP.refresher
cat ${UREFRESH} | sort | uniq | shuf > ${UREFRESH}.shuf
@@ -131,6 +131,54 @@ mkdir ~/.zen/tmp/${MOATS}
echo ">> NEXT REFRESHER WILL BE $(cat ${UREFRESH} | head -n 1)"
######################################################## # NODE SELECTION in UMAP.refresher
+## SECTOR LINKING >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+ SLAT="${LAT::-1}"
+ SLON="${LON::-1}"
+ SECTOR="_${SLAT}_${SLON}"
+ echo "SECTOR ${SECTOR}"
+ ##############################################################
+ SECTORG1PUB=$(${MY_PATH}/../tools/keygen -t duniter "${SECTOR}" "${SECTOR}")
+ [[ ! ${SECTORG1PUB} ]] && echo "ERROR generating SECTOR WALLET" && exit 1
+ COINS=$($MY_PATH/../tools/COINScheck.sh ${SECTORG1PUB} | tail -n 1)
+ echo "SECTOR : ${SECTOR} (${COINS} G1) WALLET : ${SECTORG1PUB}"
+
+ ${MY_PATH}/../tools/keygen -t ipfs -o ~/.zen/tmp/${MOATS}/${SECTOR}.priv "${SECTOR}" "${SECTOR}"
+ ipfs key rm ${SECTORG1PUB} > /dev/null 2>&1 ## AVOID ERROR ON IMPORT
+ SECTORNS=$(ipfs key import ${SECTORG1PUB} -f pem-pkcs8-cleartext ~/.zen/tmp/${MOATS}/${SECTOR}.priv)
+ ipfs key rm ${SECTORG1PUB}
+ ##############################################################
+ mkdir -p ~/.zen/tmp/${MOATS}/${UMAP}/${SECTOR}
+ echo "" > ~/.zen/tmp/${MOATS}/${UMAP}/${SECTOR}/index.html
+
+ SECTORMAPGEN="/ipfs/QmReVMqhMNcKWijAUVmj3EDmHQNfztVUT413m641eV237z/Umap.html?southWestLat=${CLAT}&southWestLon=${CLON}°=1&ipns=${SECTORNS}"
+ SECTORSATGEN="/ipfs/QmReVMqhMNcKWijAUVmj3EDmHQNfztVUT413m641eV237z/Usat.html?southWestLat=${CLAT}&southWestLon=${CLON}°=1&ipns=${SECTORNS}"
+ echo "" > ~/.zen/tmp/${MOATS}/${UMAP}/SECTOR${SECTOR}.Map.html
+ echo "" > ~/.zen/tmp/${MOATS}/${UMAP}/SECTOR${SECTOR}.Sat.html
+
+## REGION LINKING >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+ CLAT=$(echo ${LAT} | cut -d '.' -f 1)
+ CLON=$(echo ${LON} | cut -d '.' -f 1)
+ REGION="_${CLAT}_${CLON}"
+ echo "REGION ${REGION}"
+ ##############################################################
+ REGIONG1PUB=$(${MY_PATH}/../tools/keygen -t duniter "${REGION}" "${REGION}")
+ [[ ! ${REGIONG1PUB} ]] && echo "ERROR generating REGION WALLET" && exit 1
+ COINS=$($MY_PATH/../tools/COINScheck.sh ${REGIONG1PUB} | tail -n 1)
+ echo "REGION : ${REGION} (${COINS} G1) WALLET : ${REGIONG1PUB}"
+
+ ${MY_PATH}/../tools/keygen -t ipfs -o ~/.zen/tmp/${MOATS}/REGION.priv "${REGION}" "${REGION}"
+ ipfs key rm ${REGIONG1PUB} > /dev/null 2>&1 ## AVOID ERROR ON IMPORT
+ REGIONNS=$(ipfs key import ${REGIONG1PUB} -f pem-pkcs8-cleartext ~/.zen/tmp/${MOATS}/REGION.priv)
+ ipfs key rm ${REGIONG1PUB}
+ ##############################################################
+ mkdir -p ~/.zen/tmp/${MOATS}/${UMAP}/${REGION}
+ echo "" > ~/.zen/tmp/${MOATS}/${UMAP}/${REGION}/index.html
+
+ REGIONMAPGEN="/ipfs/QmReVMqhMNcKWijAUVmj3EDmHQNfztVUT413m641eV237z/Umap.html?southWestLat=${CLAT}&southWestLon=${CLON}°=1&ipns=${REGIONNS}"
+ REGIONSATGEN="/ipfs/QmReVMqhMNcKWijAUVmj3EDmHQNfztVUT413m641eV237z/Usat.html?southWestLat=${CLAT}&southWestLon=${CLON}°=1&ipns=${REGIONNS}"
+ echo "" > ~/.zen/tmp/${MOATS}/${UMAP}/REGION${REGION}.Map.html
+ echo "" > ~/.zen/tmp/${MOATS}/${UMAP}/REGION${REGION}.Sat.html
+
## COLLECT RSS FROM ALL PLAYERS WITH SAME UMAP IN SWARM MEMORY
cp ~/.zen/tmp/${IPFSNODEID}/UPLANET/_${LAT}_${LON}/RSS/*.rss.json ~/.zen/tmp/${MOATS}/${UMAP}/RSS/ 2>/dev/null
@@ -148,7 +196,7 @@ mkdir ~/.zen/tmp/${MOATS}
cp ${TWRED} ~/.zen/tmp/${MOATS}/${UMAP}/TW/${ZMAIL}/
done
-
+##################################
## OSM2IPFS
### UMAP = 0.01° Planet Slice
UMAPGEN="/ipfs/QmReVMqhMNcKWijAUVmj3EDmHQNfztVUT413m641eV237z/Umap.html?southWestLat=${LAT}&southWestLon=${LON}°=0.01&ipns=${UMAPNS}"
@@ -167,12 +215,16 @@ mkdir ~/.zen/tmp/${MOATS}
&& python ${MY_PATH}/../tools/page_screenshot.py "${myIPFS}${USATGEN}" ~/.zen/tmp/${MOATS}/${UMAP}/Usat.jpg 900 900 2>/dev/null \
&& [[ ! -s ~/.zen/tmp/${MOATS}/${UMAP}/Usat.jpg ]] && killall chrome
- ##############################################################
+
+## GEOLINKING SURROUNDING UMAPS ###############################
if [[ ! -s ~/.zen/tmp/${MOATS}/${UMAP}/geolinks.json ]]; then
${MY_PATH}/../tools/Umap_geolinks.sh "${LAT}" "${LON}" "${UMAP}" "${MOATS}"
fi
+ ### SET navigator.html ## MAKE EVOLVE template/umap.html
+ cp ${MY_PATH}/../templates/umap.html ~/.zen/tmp/${MOATS}/${UMAP}/navigator_Umap.html
+ cat ~/.zen/tmp/${MOATS}/${UMAP}/navigator_Umap.html | sed "s~Umap~Usat~g" > ~/.zen/tmp/${MOATS}/${UMAP}/navigator_Usat.html
####################################
## MAKE GET POI's
@@ -189,18 +241,12 @@ mkdir ~/.zen/tmp/${MOATS}
## CREATE GCHANGE ACCOUNT ??!! DO ANYTHING RELATED TO UMAP
-
- ### SET navigator.html ## MAKE EVOLVE template/umap.html
- cp ${MY_PATH}/../templates/umap.html ~/.zen/tmp/${MOATS}/${UMAP}/navigator_Umap.html
- cat ~/.zen/tmp/${MOATS}/${UMAP}/navigator_Umap.html | sed "s~Umap~Usat~g" > ~/.zen/tmp/${MOATS}/${UMAP}/navigator_Usat.html
-
########################################################
## ACTIVATE IN CASE OF PROTOCOL BRAKE
## TODO : BACKUP STATE IN // PRIVATE KEY
## TODO : SNIFF IPFS DHT MODIFICATIONS ## FAIL2BAN ## DEFCON
########################################################
-SLAT="${LAT::-1}"
-SLON="${LON::-1}"
+
##############################################################
############################ PUBLISHING UMAP
##############################################################
@@ -230,8 +276,8 @@ SLON="${LON::-1}"
### SECTOR = 0.1° Planet Slice
- ${MY_PATH}/SECTOR.refresh.sh "${LAT}" "${LON}" "${MOATS}" "${UMAP}" "${ACTINGNODE}"
+ ${MY_PATH}/SECTOR.refresh.sh "${unique_combined[@]}"
### REGION = 1° Planet Slice
- ${MY_PATH}/REGION.refresh.sh "${LAT}" "${LON}" "${MOATS}" "${UMAP}" "${ACTINGNODE}"
+ # ${MY_PATH}/REGION.refresh.sh "${LAT}" "${LON}" "${MOATS}" "${UMAP}" "${ACTINGNODE}"
diff --git a/_12345.sh b/_12345.sh
index 5fbdc9386..b564ebd0a 100755
--- a/_12345.sh
+++ b/_12345.sh
@@ -85,7 +85,7 @@ while true; do
start=`date +%s`
############# GET BOOTSTRAP SWARM DATA
- for bootnode in $(cat ~/.zen/Astroport.ONE/A_boostrap_nodes.txt | grep -Ev "#") # remove comments
+ for bootnode in $(cat ~/.zen/Astroport.ONE/A_boostrap_nodes.txt | grep -Ev "#" | rev | cut -d '/' -f 1 | rev | grep -v '^[[:space:]]*$') # remove comments and empty lines
do
echo "############# RUN LOOP ######### $(date)"
diff --git a/ping_bootstrap.sh b/ping_bootstrap.sh
index 96b72a142..53096d700 100755
--- a/ping_bootstrap.sh
+++ b/ping_bootstrap.sh
@@ -2,7 +2,7 @@
ipfs stats dht wan
-for bootnode in $(cat ~/.zen/Astroport.ONE/A_boostrap_nodes.txt | grep -Ev "#");
+for bootnode in $(cat ~/.zen/Astroport.ONE/A_boostrap_nodes.txt | grep -Ev "#" | rev | cut -d '/' -f 1 | rev | grep -v '^[[:space:]]*$')
do
echo
ipfsnodeid=${bootnode##*/}
diff --git a/tools/ipfs_config.sh b/tools/ipfs_config.sh
index 1ead74891..331c939b9 100755
--- a/tools/ipfs_config.sh
+++ b/tools/ipfs_config.sh
@@ -56,7 +56,7 @@ ipfs config Addresses.Gateway "/ip4/0.0.0.0/tcp/8080"
######### CLEAN DEFAULT BOOTSTRAP ADD Astroport.ONE Officials ###########
ipfs bootstrap rm --all
-for bootnode in $(cat ~/.zen/Astroport.ONE/A_boostrap_nodes.txt | grep -Ev "#") # remove comments
+for bootnode in $(cat ~/.zen/Astroport.ONE/A_boostrap_nodes.txt | grep -Ev "#" | rev | cut -d '/' -f 1 | rev | grep -v '^[[:space:]]*$') # remove comments and empty lines
do
ipfsnodeid=${bootnode##*/}
ipfs bootstrap add $bootnode