First ♥ UPlanet . Zen Fork private

This commit is contained in:
fred 2024-03-30 13:06:56 +01:00
parent b89bc01ada
commit 9b1549f689
21 changed files with 168 additions and 56 deletions

View File

@ -94,7 +94,7 @@ if [[ ${QRCODE} == "station" ]]; then
if [[ $carouselrunning ]]; then
ISTATION="/ipfs/QmVTHH8sTXEqRBsvcKo5jDo16rvp7Q7ERyHZP5vmWUxeS6" ## G1WorldCrafting.jpg
else
## GENERATE PLAYER G1 TO ZEN ACCOUNTING
## GENERATE PLAYER G1 TO ACCOUNTING
ISTATION=$($MY_PATH/../tools/make_image_ipfs_index_carousel.sh | tail -n 1)
echo $ISTATION > ~/.zen/tmp/ISTATION ## STATION G1WALLET CAROUSEL
fi
@ -272,7 +272,7 @@ if [[ ${QRCODE:0:5} == "~~~~~" ]]; then
if [[ ! ${ISTHERE} ]]; then
(
echo "$HTTPCORS
<h1>LOGOUT ERROR</h1><h2>${PLAYER} keys not found on ZEN Station</h2>" | nc -l -p ${PORT} -q 1 > /dev/null 2>&1 \
<h1>LOGOUT ERROR</h1><h2>${PLAYER} keys not found on Station</h2>" | nc -l -p ${PORT} -q 1 > /dev/null 2>&1 \
&& echo "SLURP PLAYER ERROR ${player}"
) &
exit 0
@ -690,9 +690,9 @@ echo ">>> ${QRCODE} g1_to_ipfs $ASTROTOIPNS"
if [[ $VISITORCOINS == "null" || ${ZEN} -lt 10 ]]; then
DISPLAY="$DISPLAY
<h2>!! LOW ZEN WALLET ZEN=${ZEN}<h2>"
<h2>!! LOW WALLET ZEN=${ZEN}<h2>"
DISPLAY="$DISPLAY<h3>LOW ZEN WARNING</h3>
DISPLAY="$DISPLAY<h3>LOW WARNING</h3>
PLEASE CHARGE... ${ZEN} ZEN"
fi

112
ASTROBOT/G1ForkUplanet.sh Normal file
View File

@ -0,0 +1,112 @@
#!/bin/bash
########################################################################
# Version: 0.1
# License: AGPL-3.0 (https://choosealicense.com/licenses/agpl-3.0/)
########################################################################
MY_PATH="`dirname \"$0\"`" # relative
MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized
ME="${0##*/}"
. "${MY_PATH}/../tools/my.sh"
## IT MAKES WISH WALLET MASTER OF NEW UPLANET
## IT MAKES swarm.key as UPLANETNAME
## SAME WISH BE CONNECTED TO THE PRIVATE IPFS MADE FIRST
echo "(✜‿‿✜) Fork UPlanet
This wish makes Player generate or join a private IPFS swarm
It can be use to populate UPlanet ZERO (or not)
All friends with the same wish will share the SECRET
then any can activate a new ipfs daemon connected to that private ZONE
Planet shape could be define from text found in command tiddler
and initiale new euclidian geokeys...
Default :
flaoting points"
echo "$ME RUNNING"
########################################################################
INDEX="$1"
[[ ! ${INDEX} ]] && INDEX="$HOME/.zen/game/players/.current/ipfs/moa/index.html"
[[ ! -s ${INDEX} ]] && echo "ERROR - Please provide path to source TW index.html" && exit 1
[[ ! -s ${INDEX} ]] && echo "ERROR - Fichier TW absent. ${INDEX}" && exit 1
ORIGININDEX=${INDEX}
PLAYER="$2"
[[ ! ${PLAYER} ]] && PLAYER="$(cat ~/.zen/game/players/.current/.player 2>/dev/null)"
[[ ! ${PLAYER} ]] && echo "ERROR - Please provide PLAYER" && exit 1
ASTRONAUTENS=$(ipfs key list -l | grep -w ${PLAYER} | cut -d ' ' -f1)
[[ ! ${ASTRONAUTENS} ]] && echo "ERROR - Clef IPNS ${PLAYER} introuvable!" && exit 1
G1PUB=$(cat ~/.zen/game/players/${PLAYER}/.g1pub)
[[ ! $G1PUB ]] && echo "ERROR - G1PUB ${PLAYER} VIDE" && exit 1
MOATS="$3"
[[ ! ${MOATS} ]] && MOATS=$(date -u +"%Y%m%d%H%M%S%4N")
echo "${PLAYER} ${INDEX} ${ASTRONAUTENS} ${G1PUB} "
mkdir -p $HOME/.zen/tmp/${MOATS}
echo "~/.zen/tmp/${MOATS}/swarm.key"
JSONWISH="$4"
## SHOW WISH CONTAINS SELF CRYPTED SWARMKEY (+ SIGNERS)
cat ${JSONWISH} | jq -r
PLAYERPUB=$(cat $HOME/.zen/game/${PLAYER}/secret.dunikey | grep pub | cut -d ' ' -f 2)
[[ "${PLAYERPUB}" == "" ]] && echo "FATAL ERROR PLAYER KEY MISSING" && exit 1
WISHNAME=$(cat ${JSONWISH} | jq .title) # ForkUPlanet !
UPNAME=$(cat ${JSONWISH} | jq -r ".name") ## What name is given ?
CONTRACT=$(cat ${JSONWISH} | jq -r ".text") ## What contract is applying ?
## CHECK EXISTING ${WISHNAME}.${UPNAME}.swarm.key
[[ ! -s $HOME/.zen/game/${PLAYER}/${WISHNAME}.${UPNAME}.swarm.key ]] \
&& MSG=$MSG" ${PLAYER}/${WISHNAME}.${UPNAME}.swarm.key NOT FOUND" && ERR="NO LOCAL KEY"
## CREATE 64 bit swarm.key ( maximum individual Fork 1,844674407×10¹⁹ )
echo -e '/key/swarm/psk/1.0.0/\n/base16/' > $HOME/.zen/tmp/${MOATS}/swarm.key
head -c 64 /dev/urandom | od -t x1 -A none - | tr -d '\n ' >> $HOME/.zen/tmp/${MOATS}/swarm.key
echo '' >> $HOME/.zen/tmp/${MOATS}/swarm.key
## EXTRACT SECRET FROM JSONWISH
###############################
OLD16=$(cat ${JSONWISH} | jq -r ".secret")
[[ ${OLD16} == "" || ${OLD16} == "null" ]] \
&& echo "NO SECRET FOUND" \
&& echo "NEW SECRET SWARM.KEY GENERATION" \
&& cat $HOME/.zen/tmp/${MOATS}/swarm.key \
&& cp $HOME/.zen/tmp/${MOATS}/swarm.key $HOME/.zen/game/${PLAYER}/${WISHNAME}.${UPNAME}.swarm.key \
&& echo "------- NEW ------ ${PLAYER}/${WISHNAME}.${UPNAME}.swarm.key"
## DEBASE16
echo "${OLD16}" | base16 -d \
> ~/.zen/tmp/${MOATS}/swarmkey.crypted
## TRY TO DECODE with PLAYER secret.dunikey
${MY_PATH}/../tools/natools.py decrypt \
-f pubsec \
-k $HOME/.zen/game/${PLAYER}/secret.dunikey \
-i ~/.zen/tmp/${MOATS}/swarmkey.crypted \
-o ~/.zen/tmp/${MOATS}/swarmkey.decrypted
[[ $(diff ~/.zen/tmp/${MOATS}/swarmkey.decrypted $HOME/.zen/game/${PLAYER}/${WISHNAME}.${UPNAME}.swarm.key) ]] \\
&& echo " SWARM AND LOCAL KEY ARE DIFFERENT " && ERR="TW SWARM CHANGED"
## ALWAYS UPDATE PLAYER LOCAL ?!
cp ~/.zen/tmp/${MOATS}/swarmkey.decrypted \
$HOME/.zen/game/${PLAYER}/${WISHNAME}.${UPNAME}.swarm.key
if [[ "$ERR" == "" ]] ; then
#~ echo "# CRYPTO ENCODING PLAYER KEY WITH PLAYERPUB
${MY_PATH}/../tools/natools.py encrypt \
-p ${PLAYERPUB} \
-i $HOME/.zen/game/${PLAYER}/${WISHNAME}.${UPNAME}.swarm.key \
-o $HOME/.zen/game/${PLAYER}/${WISHNAME}.${UPNAME}.swarm.key.enc
ENCODING=$(cat $HOME/.zen/game/${PLAYER}/${WISHNAME}.${UPNAME}.swarm.key.enc | base16)
sed -i "s~${OLD16}~${ENCODING}~g" ${JSONWISH}
echo "ENCODING: ${ENCODING}"
fi
exit 0

View File

@ -251,12 +251,12 @@ while read LINE; do
## Count emails found
emails=($(echo "$TTAGS" | grep -E -o "\b[a-zA-Z0-9.%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,6}\b"))
nb=${#emails[@]}
zen=$(echo "scale=2; $nb / 10" | bc) ## / divide by 10 = 1 Zen each
zen=$(echo "scale=2; $nb / 10" | bc) ## / divide by 10 = 1 each
## Get first zmail
ZMAIL="${emails}"
MSG="SEND + $zen ZEN TO BROs : ${emails[@]}"
MSG="SEND + $zen TO BROs : ${emails[@]}"
echo $MSG
ASTROTW="" STAMP="" ASTROG1="" ASTROIPFS="" ASTROFEED=""
@ -267,7 +267,7 @@ while read LINE; do
if [[ ${ASTROG1} && ${ASTROG1} != ${G1PUB} ]]; then
## SEND zen ZEN (G1 dice JUNE) TO ALL ## MAKE ONE EACH AFTER ALL EMAIL CONSUMED ##
## SEND zen (G1 dice JUNE) TO ALL ## MAKE ONE EACH AFTER ALL EMAIL CONSUMED ##
#~ ~/.zen/Astroport.ONE/tools/timeout.sh -t 12 \
#~ ${MY_PATH}/../tools/PAY4SURE.py -k ~/.zen/game/players/${PLAYER}/secret.dunikey pay -a ${zen} -p ${ASTROG1} -c "${emails[@]} $TTITLE" -m > /dev/null 2>&1
## Filling comment with email list will make players resend to all ## MAY BE A BAD IDEA ###

View File

@ -58,9 +58,9 @@ for PLAYER in ${PLAYERONE[@]}; do
cat ~/.zen/tmp/${MOATS}/${PLAYER}.COINScheck ###DEBUG MODE
COINS=$(cat ~/.zen/tmp/${MOATS}/${PLAYER}.COINScheck | tail -n 1)
ZEN=$(echo "($COINS - 1) * 10" | bc | cut -d '.' -f 1)
echo "+++ WALLET BALANCE _ $COINS (G1) _ / $ZEN ZEN /"
echo "+++ WALLET BALANCE _ $COINS (G1) _ / $ZEN /"
#~ ## ZENCARD ARE ACTIVATED WITH 1 G1 + 10 ZEN (= 10 €/OC) ?
#~ ## ZENCARD ARE ACTIVATED WITH 1 G1 + 10 (= 10 €/OC) ?
echo "## >>>>>>>>>>>>>>>> REFRESH ASTRONAUTE TW"
## REFRESH ASTRONAUTE TW
ASTRONAUTENS=$(ipfs key list -l | grep -w ${G1PUB} | cut -d ' ' -f1)
@ -502,7 +502,7 @@ for PLAYER in ${PLAYERONE[@]}; do
## DEAD PLAYER ??
if [[ ${DIFF_SECONDS} -eq $(( 27 * 24 * 60 * 60 )) ]]; then
echo "<html><body><h1>WARNING.</h1> Your TW will be UNPLUGGED and stop being published..." > ~/.zen/tmp/alert
echo "<br><h3>TW : <a href=$(myIpfsGw)/ipfs/${CURCHAIN}> ${PLAYER}</a></h3> ADD MORE ZEN ($ZEN) </body></html>" >> ~/.zen/tmp/alert
echo "<br><h3>TW : <a href=$(myIpfsGw)/ipfs/${CURCHAIN}> ${PLAYER}</a></h3> ADD MORE ($ZEN) </body></html>" >> ~/.zen/tmp/alert
${MY_PATH}/../tools/mailjet.sh "${PLAYER}" ~/.zen/tmp/alert "TW ALERT"
echo "<<<< PLAYER TW WARNING <<<< ${DIFF_SECONDS} > ${days} days"
@ -514,7 +514,7 @@ for PLAYER in ${PLAYERONE[@]}; do
continue
fi
## PAY 1 ZEN TO UMAPG1PUB
## PAY 1 TO UMAPG1PUB
[[ "${UMAPG1PUB}" != "" ]] \
&& ${MY_PATH}/../tools/PAY4SURE.sh "${HOME}/.zen/game/players/${PLAYER}/secret.dunikey" "0.1" "${UMAPG1PUB}" "UPLANET:TW:${YOUSER}:/ipfs/${TW}"

View File

@ -51,7 +51,7 @@ mkdir -p ~/.zen/tmp/${MOATS}
COINS=$($MY_PATH/../tools/COINScheck.sh ${SECTORG1PUB} | tail -n 1)
echo "SECTOR WALLET = ${COINS} G1 : ${SECTORG1PUB}"
## UNPLUG => SEND 10 Zen to SECTORG1PUB
## UNPLUG => SEND 10 to SECTORG1PUB
## ALL => SEND ALL to $WORLDG1PUB
ALL="ALL"

View File

@ -71,7 +71,7 @@ for REGION in ${REGIONS[@]}; do
################################## TODO : make sharing key protocol evolve
## FOR NOW ONLY 1ST BOOSTRAP PUBLISH REGION KEYS
# with bigger planetary swam will be closest "IA Station", or it could be choosen according to ZEN value...
# with bigger planetary swam will be closest "IA Station", or it could be choosen according to value...
STRAPS=($(cat ~/.zen/Astroport.ONE/A_boostrap_nodes.txt | grep -Ev "#" | rev | cut -d '/' -f 1 | rev | grep -v '^[[:space:]]*$')) ## ${STRAPS[@]}
ACTINGNODE=${STRAPS[0]} ## FIST NODE IN STRAPS
if [[ "${ACTINGNODE}" != "${IPFSNODEID}" ]]; then
@ -101,7 +101,7 @@ for REGION in ${REGIONS[@]}; do
ipfs --timeout 240s get --progress=false -o ~/.zen/tmp/${MOATS}/${REGION}/ /ipns/${YESTERDATEREGIONNS}/
# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
## SHOULD NEED 12 SIGNATURES
## FULL REFRESH DEMO... ZEN CHAINING COMING LATER
## FULL REFRESH DEMO... CHAINING COMING LATER
# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
mkdir -p ~/.zen/tmp/${MOATS}/${REGION}/RSS
rm -f ~/.zen/tmp/${MOATS}/${REGION}/RSS/_${RLAT}_${RLON}.week.rss.json

View File

@ -7,7 +7,7 @@
# DETECTING CONFLICT WITH SAME TITLE
# ASKING TO EXISTING SIGNATURES TO UPDATE THEIR TW OR FORK TITLE
# CALLED BY "SECTOR.refresh.sh"
# SEND 10 ZEN TO EACH SIGNATURE
# SEND 10 TO EACH SIGNATURE
########################################################################
MY_PATH="`dirname \"$0\"`" # relative
MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized
@ -193,7 +193,7 @@ Tiddler appears in <b>${unique_combined[*]}</b> TW(s)
done
## SEND ZEN G1PalPay Signal
## SEND G1PalPay Signal
#~ ##############################################################
#~ G1AMOUNT=$(echo "$NSIGN / 10" | bc -l | xargs printf "%.2f" | sed "s~,~.~g" )
@ -271,7 +271,7 @@ done < ~/.zen/tmp/${MOATS}/${SECTOR}/tiddlers.list
#~ GRATITUDE=$($MY_PATH/../tools/getcoins_from_gratitude_box.sh)
#~ G1AMOUNT=$(echo "$GRATITUDE / 10" | bc -l | xargs printf "%.2f" | sed "s~,~.~g" )
#~ echo "***** SECTOR $SECTOR REWARD *****************"
#~ echo "GRATITUDE ${GRATITUDE} ZEN = ${G1AMOUNT} G1
#~ echo "GRATITUDE ${GRATITUDE} = ${G1AMOUNT} G1
#~ to ${PLAYER} WALLET ${ASTROG1} (${gloops} Tiddlers)"
#~ echo "************************************************************"
#~ ${MY_PATH}/../tools/PAY4SURE.sh ~/.zen/tmp/${MOATS}/sector.dunikey "${G1AMOUNT}" "${ASTROG1}" "THANKS ${gloops} GLOOPS"

View File

@ -102,9 +102,9 @@ for SECTOR in ${SECTORS[@]}; do
ipfs --timeout 180s get --progress=false -o ~/.zen/tmp/${MOATS}/${SECTOR}/ /ipns/${YESTERDATENS}/
if [[ $? != 0 ]]; then
echo "(╥☁╥ ) swarm memory empty (╥☁╥ )"
# Try retieve memory from UPlanet Zen Memory
# Try retieve memory from UPlanet Memory
[[ ${ZEN} -gt 0 ]] \
&& echo "INTERCOM Refreshing from ZEN MEMORY" \
&& echo "INTERCOM Refreshing from MEMORY" \
&& ${MY_PATH}/../RUNTIME/ZEN.SECTOR.memory.sh "${SECTOR}" "${MOATS}" "${G1PUB}"
fi
# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
@ -171,7 +171,7 @@ for SECTOR in ${SECTORS[@]}; do
echo "SETTING NEXT REFRESHER : $(cat ${UREFRESH} | head -n 1)"
############ 101 ZEN REFILL ?!
############ 101 REFILL ?!
CURRENT=$(readlink ~/.zen/game/players/.current | rev | cut -d '/' -f 1 | rev)
[[ ${COINS} == "" || ${COINS} == "null" ]] \
&& [[ ${ZEN} -lt 100 && ${CURRENT} != "" ]] \
@ -230,7 +230,7 @@ for SECTOR in ${SECTORS[@]}; do
TOTL=$((${NL}+${NS}))
##############################################################
# Update COIN & ZEN value
# Update COIN & value
echo ${COINS} > ~/.zen/tmp/${MOATS}/${SECTOR}/COINS
echo ${ZEN} > ~/.zen/tmp/${MOATS}/${SECTOR}/ZEN
@ -343,12 +343,12 @@ for SECTOR in ${SECTORS[@]}; do
&& echo "${MOATS}" > ~/.zen/tmp/${MOATS}/${SECTOR}/CHAIN/_moats \
&& IPFSPOP=$(ipfs add -rwq ~/.zen/tmp/${MOATS}/${SECTOR}/* | tail -n 1) && echo "ROOT was ${ZCHAIN}"
######################################################
## ZEN CHAINING
# Send 1 Zen to UPlanet REGIONG1PUB Wallet containing REGION TW HASH
## CHAINING
# Send 1 to UPlanet REGIONG1PUB Wallet containing REGION TW HASH
INTERCOM="UPLANET:${SECTOR}:${TODATE}:/ipfs/${IPFSPOP}"
echo "> INTERCOM ${INTERCOM} (${ZEN} ZEN)"
if [[ ${ZEN} -gt 11 ]]; then
echo "---ZZZ-- SECTOR 2 REGION ZEN CHAINING ---ZZZ------ZZZ----"
echo "---ZZZ-- SECTOR 2 REGION CHAINING ---ZZZ------ZZZ----"
${MY_PATH}/../tools/PAY4SURE.sh ~/.zen/tmp/${MOATS}/${SECTOR}.dunikey "0.1" "${REGIONG1PUB}" "${INTERCOM}"
fi
##############################################################

View File

@ -74,7 +74,7 @@ for UMAP in ${unique_combined[@]}; do
COINS=$($MY_PATH/../tools/COINScheck.sh ${G1PUB} | tail -n 1)
ZEN=$(echo "($COINS - 1) * 10" | bc | cut -d '.' -f 1)
echo "UMAP (${COINS} G1) ${ZEN} ZEN : ${G1PUB}"
echo "UMAP (${COINS} G1) ${ZEN} : ${G1PUB}"
## ORIGIN ##########################################################
## CALCULATE INITIAL UMAP GEOSPACIAL IPNS KEY
@ -104,9 +104,9 @@ for UMAP in ${unique_combined[@]}; do
ipfs --timeout 300s get --progress=false -o ~/.zen/tmp/${MOATS}/${UMAP}/ /ipns/${YESTERDATENS}/
if [[ $? != 0 ]]; then
echo "(╥☁╥ ) swarm online memory empty (╥☁╥ )"
# Try retieve memory from UPlanet Zen Memory
# Try retieve memory from UPlanet Memory
[[ ${ZEN} -gt 0 ]] \
&& echo "INTERCOM Refreshing from ZEN MEMORY" \
&& echo "INTERCOM Refreshing from MEMORY" \
&& ${MY_PATH}/../RUNTIME/ZEN.UMAP.memory.sh "${UMAP}" "${MOATS}" "${G1PUB}"
fi
# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
@ -191,7 +191,7 @@ for UMAP in ${unique_combined[@]}; do
echo ">> NEXT REFRESHER WILL BE $(cat ${UREFRESH} | head -n 1)"
######################################################## # NODE SELECTION in UMAP.refresher
############ 101 ZEN REFILL ?!
############ 101 REFILL ?!
CURRENT=$(readlink ~/.zen/game/players/.current | rev | cut -d '/' -f 1 | rev)
[[ ${COINS} == "" || ${COINS} == "null" ]] \
&& [[ ${ZEN} -lt 100 && ${CURRENT} != "" ]] \
@ -505,12 +505,12 @@ for UMAP in ${unique_combined[@]}; do
&& echo "UPDATING MOATS"
######################################################
## ZEN CHAINING
# Send 1 Zen to UPlanet SECTORG1PUB Wallet containing REGION TW HASH
## CHAINING
# Send 1 to UPlanet SECTORG1PUB Wallet containing REGION TW HASH
INTERCOM="UPLANET:${UMAP}:${TODATE}:/ipfs/${UMAPROOT}"
echo "> INTERCOM ${INTERCOM} (${ZEN} ZEN > 11 ?)"
echo "> INTERCOM ${INTERCOM} (${ZEN} > 11 ?)"
if [[ ${ZEN} -gt 11 ]]; then
echo "---ZZZ-- UMAP 2 SECTOR ZEN CHAINING ---ZZZ------ZZZ----"
echo "---ZZZ-- UMAP 2 SECTOR CHAINING ---ZZZ------ZZZ----"
${MY_PATH}/../tools/PAY4SURE.sh ~/.zen/tmp/${MOATS}/${UMAP}.dunikey "0.1" "${SECTORG1PUB}" "${INTERCOM}"
fi

View File

@ -328,7 +328,7 @@ if [[ "${MACHINEPUB}" != "" ]]; then
sed -i "s~${OLD16}~${ENCODING}~g" ~/.zen/game/players/${PLAYER}/ipfs/moa/index.html
echo "ENCODING: ${ENCODING}"
# GIVE ZEN STATION TW ACCESS #
# GIVE STATION TW ACCESS #
###########
#~ echo "# CRYPTO DECODING TESTING..."
tiddlywiki \

View File

@ -40,13 +40,13 @@ INDEX="$3"
mkdir -p ~/.zen/tmp/${IPFSNODEID}/WISH/${PLAYER}/g1voeu
###############################
####### NEED G1 / ZEN TO RUN
####### NEED G1 / TO RUN
[[ ${COINS} == "null" || ${COINS} == "" ]] \
&& echo ">>> ${COINS} : DESACTIVATED - NEED G1 TO REFRESH WISH - EXIT - " \
&& exit 0
echo "%% ${COINS} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%"
[[ $(echo "$COINS < 2" | bc -l) -eq 1 ]] && echo ">>> ${COINS} ONLY : 1 G1 + 10 ZEN NEEDED TO CONTINUE" && exit 0
[[ $(echo "$COINS < 2" | bc -l) -eq 1 ]] && echo ">>> ${COINS} ONLY : 1 G1 + 10 NEEDED TO CONTINUE" && exit 0
###############################
## EXTRACT G1Voeu from PLAYER TW
@ -321,7 +321,7 @@ if [[ ${wishnumbers} -gt 0 ]]; then
GRATITUDE=$($MY_PATH/../tools/getcoins_from_gratitude_box.sh)
G1AMOUNT=$(echo "$GRATITUDE / 10" | bc -l | xargs printf "%.2f" | sed "s~,~.~g" )
echo "***** PLAYER $PLAYER *************************************"
echo "GRATITUDE ${GRATITUDE} ZEN (${G1AMOUNT} G1)
echo "GRATITUDE ${GRATITUDE} (${G1AMOUNT} G1)
to UMAP_${LAT}_${LON} WALLET ${UMAPG1PUB}"
echo "************************************************************"
YOUSER=$($MY_PATH/../tools/clyuseryomail.sh "${PLAYER}")

View File

@ -31947,7 +31947,7 @@
"pubkey": "BBNB5X1kyLU7G2rbmKrn6uKvuJsbd8U7HSkiftPeYZxz",
"address": "1675 chemin du piton",
"city": "Saint-Clar-de-Rivière, 31600",
"description": "Praticien en Médecine Traditionnelle Chinoise, j'utilise principalement l'acupuncture, avec la Méthode Global Balance du Dr Richard Tan.\n\nMoine dans la lignée du Zen Soto, nous avons un groupe pour la pratique de la méditation les mardi de 18h20 à 19H30 et les mercredi de 6h50 à 8h00. Si vous ne connaissez pas la pratique, des initiations à la posture de zazen peuvent se faire sur rendez vous.",
"description": "Praticien en Médecine Traditionnelle Chinoise, j'utilise principalement l'acupuncture, avec la Méthode Global Balance du Dr Richard Tan.\n\nMoine dans la lignée du Soto, nous avons un groupe pour la pratique de la méditation les mardi de 18h20 à 19H30 et les mercredi de 6h50 à 8h00. Si vous ne connaissez pas la pratique, des initiations à la posture de zazen peuvent se faire sur rendez vous.",
"avatar": {
"_content_type": "image/png"
},
@ -39816,7 +39816,7 @@
"pubkey": "BGpcfAHva2fyfZfVXY9czpA1hoezB3MdHqmw39zUoVkt",
"address": "1178 route de Broves",
"city": "Bargemon, 83830",
"description": "Organic human being living as natural as possible\nRevitalization - Massage Zen \nwww.keitaonozaki.com",
"description": "Organic human being living as natural as possible\nRevitalization - Massage \nwww.keitaonozaki.com",
"avatar": {
"_content_type": "image/png"
},
@ -132807,7 +132807,7 @@
{
"pubkey": "Hi1vKZPuYwQ7FRiUE1GhwSMTEum8xw2TK4YaijpBUpWz",
"city": "Orcier, 74550",
"description": "Hello, je suis masseuse-Sono thérapeute. Zen attitude!",
"description": "Hello, je suis masseuse-Sono thérapeute. attitude!",
"avatar": {
"_content_type": "image/png"
},

View File

@ -67,12 +67,12 @@ href='/ipns/_ASTRONAUTENS_'>TW5</a> <br>
<!-- TODO: Page 7, this is the inside of the back cover -->
Tu ZenCard es algo más que un trozo de papel: es tu puerta de entrada para enviar y recibir Zen, la moneda universal de UPlanet. Con tu ZenCard en la mano, tienes el poder de realizar transacciones, apoyar las economías locales y participar en el ecosistema dinámico de nuestro reino descentralizado.
Como monedero de papel, tu ZenCard encarna los principios de seguridad y accesibilidad. Le permite almacenar su Zen fuera de línea, protegiendo sus activos de las amenazas digitales al tiempo que garantiza un fácil acceso siempre que lo necesite.
Como monedero de papel, tu ZenCard encarna los principios de seguridad y accesibilidad. Le permite almacenar su fuera de línea, protegiendo sus activos de las amenazas digitales al tiempo que garantiza un fácil acceso siempre que lo necesite.
</section>
<footer class="zine-page page-8">
<!-- TODO: You made it! Page 8, the back cover. Feel free to use this for attributions. Hey, let me know if you want a review. I'll give you ★★★★★ and an amazing quote -->
Tanto si envía Zen a un amigo al otro lado del cosmos como si realiza una compra a un vendedor local, su ZenCard le permite realizar transacciones con confianza y facilidad. Disfruta de la libertad de la autonomía financiera y únete a nosotros en la construcción de una economía próspera dentro de UPlanet.
Tanto si envía a un amigo al otro lado del cosmos como si realiza una compra a un vendedor local, su ZenCard le permite realizar transacciones con confianza y facilidad. Disfruta de la libertad de la autonomía financiera y únete a nosotros en la construcción de una economía próspera dentro de UPlanet.
Así que, conciudadanos míos, levantad vuestra ZenCard y aprovechad las oportunidades que ofrece. Allanemos el camino hacia un futuro en el que la prosperidad no tenga límites y todo el mundo tenga la oportunidad de desarrollar su potencial.
Bienvenido a una nueva era de libertad financiera en UPlanet, ¡donde tu ZenCard es la llave a posibilidades ilimitadas!
🌌💰💰💰

View File

@ -64,11 +64,11 @@ href='/ipns/_ASTRONAUTENS_'>TW5</a> <br>
<section class="zine-page page-7">
<!-- TODO: Page 7, this is the inside of the back cover -->
Votre ZenCard est plus qu'un simple morceau de papier - c'est votre passerelle pour envoyer et recevoir du Zen, la monnaie universelle d'UPlanet. Avec votre ZenCard en main, vous avez le pouvoir d'effectuer des transactions, de soutenir les économies locales et de participer à l'écosystème dynamique de notre royaume décentralisé.
En tant que portefeuille papier, votre ZenCard incarne les principes de sécurité et d'accessibilité. Elle vous permet de stocker vos Zen hors ligne, protégeant ainsi vos actifs des menaces numériques tout en garantissant un accès facile à chaque fois que vous en avez besoin.
En tant que portefeuille papier, votre ZenCard incarne les principes de sécurité et d'accessibilité. Elle vous permet de stocker vos hors ligne, protégeant ainsi vos actifs des menaces numériques tout en garantissant un accès facile à chaque fois que vous en avez besoin.
</section>
<footer class="zine-page page-8">
<!-- TODO: You made it! Page 8, the back cover. Feel free to use this for attributions. Hey, let me know if you want a review. I'll give you ★★★★★ and an amazing quote -->
Que vous envoyiez du Zen à un ami à travers le cosmos ou que vous fassiez un achat auprès d'un vendeur local, votre ZenCard vous permet d'effectuer des transactions en toute confiance et en toute simplicité. Profitez de la liberté de l'autonomie financière et rejoignez-nous dans la construction d'une économie prospère au sein d'UPlanet.
Que vous envoyiez du à un ami à travers le cosmos ou que vous fassiez un achat auprès d'un vendeur local, votre ZenCard vous permet d'effectuer des transactions en toute confiance et en toute simplicité. Profitez de la liberté de l'autonomie financière et rejoignez-nous dans la construction d'une économie prospère au sein d'UPlanet.
Alors, chers concitoyens, brandissez votre ZenCard et profitez des opportunités qu'elle vous offre. Ouvrons la voie à un avenir où la prospérité ne connaît pas de limites et où chaque individu a la possibilité de s'épanouir.
Bienvenue dans une nouvelle ère de liberté financière sur UPlanet, où votre ZenCard est la clé qui vous permettra d'accéder à des possibilités illimitées !
🌌💰💰

View File

@ -70,12 +70,12 @@ href='/ipns/_ASTRONAUTENS_'>TW5</a> <br>
<!-- TODO: Page 7, this is the inside of the back cover -->
Your ZenCard is more than just a piece of paper—it is your gateway to send and receive Zen, the universal currency of UPlanet. With your ZenCard in hand, you have the power to engage in transactions, support local economies, and participate in the vibrant ecosystem of our decentralized realm.
As a paper wallet, your ZenCard embodies the principles of security and accessibility. It allows you to store your Zen offline, protecting your assets from digital threats while ensuring easy access whenever you need them.
As a paper wallet, your ZenCard embodies the principles of security and accessibility. It allows you to store your offline, protecting your assets from digital threats while ensuring easy access whenever you need them.
</section>
<footer class="zine-page page-8">
<!-- TODO: You made it! Page 8, the back cover. Feel free to use this for attributions. Hey, let me know if you want a review. I'll give you ★★★★★ and an amazing quote -->
Whether you're sending Zen to a friend across the cosmos or making a purchase from a local vendor, your ZenCard empowers you to transact with confidence and ease. Embrace the freedom of financial self-reliance and join us in building a thriving economy within UPlanet.
Whether you're sending to a friend across the cosmos or making a purchase from a local vendor, your ZenCard empowers you to transact with confidence and ease. Embrace the freedom of financial self-reliance and join us in building a thriving economy within UPlanet.
So, fellow citizens, hold your ZenCard high and embrace the opportunities it brings. Let us pave the way to a future where prosperity knows no bounds, and every individual has the opportunity to thrive.

View File

@ -31,12 +31,12 @@ La "ZenCard", elle, donne accès au mode "LECTURE".
---
Au 7e jour de votre enregistrement.
Vous recevrez 3.1 G1, soit 21 ZEN pour participer au réseau de partage, où
Vous recevrez 3.1 G1, soit 21 pour participer au réseau de partage, où
* ne rien publier fait perdre 1 Zen / jour.
* publier rapporte entre 1 et 21 Zen / jour (~3)
* être copié rapporte 1 Zen pour chaque partage à chaque partageur !
* 30 jours d'inactivité ou moins de 10 Zen : Vous êtes débranché !
* ne rien publier fait perdre 1 / jour.
* publier rapporte entre 1 et 21 / jour (~3)
* être copié rapporte 1 pour chaque partage à chaque partageur !
* 30 jours d'inactivité ou moins de 10 : Vous êtes débranché !
---

View File

@ -47,7 +47,7 @@ if [[ ! -s ~/.zen/tmp/coucou/${G1PUB}.gchange.json ]]; then
else
cp -f ~/.zen/tmp/${MOATS}/${G1PUB}.gchange.json ~/.zen/tmp/coucou/
echo "++ FOUND IN GCHANGE+ : $GFOUND"
[[ $COINS == "null" ]] && PALPE=10 ## 10 ZEN REWARD
[[ $COINS == "null" ]] && PALPE=10 ## 10 REWARD
fi
else
echo "GCHANGE + : OK ~/.zen/tmp/coucou/${G1PUB}.gchange.json"

View File

@ -104,7 +104,7 @@ if [[ $? == 0 || $(echo "${CHK2}" | grep 'succès') || $(echo "${CHK1}" | grep '
ZENDES=$(echo "$DES * 10" | bc | cut -d '.' -f 1)
##### MONITORING #########
echo "<html><h1>${ZENAMOUNT} ZEN OPERATION</h1>
echo "<html><h1>${ZENAMOUNT} OPERATION</h1>
${COMMENT}
<h3><a title='CESIUM' href='${CESIUMIPFS}/#/app/wot/tx/${ISSUERPUB}/'>${ISSUERPUB}</a>
(<a href='$myUPLANET/g1gate/?pubkey=${ISSUERPUB}'>SCAN</a>)
@ -113,7 +113,7 @@ if [[ $? == 0 || $(echo "${CHK2}" | grep 'succès') || $(echo "${CHK1}" | grep '
</h3>
</html>" > ${PENDINGDIR}/${MOATS}.result.html
$MY_PATH/mailjet.sh "support@qo-op.com" ${PENDINGDIR}/${MOATS}.result.html "${ZENAMOUNT} ZEN : ${COMMENT}"
$MY_PATH/mailjet.sh "support@qo-op.com" ${PENDINGDIR}/${MOATS}.result.html "${ZENAMOUNT} : ${COMMENT}"
## REMOVE IF YOU WANT TO MONITOR "SENT" WINDOW INCERTITUDE
rm ${PENDINGDIR}/${MOATS}.key

View File

@ -57,7 +57,7 @@ title="$3"
SUBJECT="[UPlanet] ${title} ${pseudo}"
MESSAGESIGN="---<br>this message is sent by <a href='$(myIpfsGw)/ipns/$IPFSNODEID'>$(myHostName)</a> your Astroport ♥BOX Zen Station"
MESSAGESIGN="---<br>this message is sent by <a href='$(myIpfsGw)/ipns/$IPFSNODEID'>$(myHostName)</a> your Astroport ♥BOX Station"
echo "
########################################################################

View File

@ -117,7 +117,7 @@ core_file="/tmp/core.html"
echo "<!DOCTYPE html>
<html>
<head>
<title>Astroport ZEN Gallery : $myIP</title>
<title>Astroport Gallery : $myIP</title>
<meta charset=\"UTF-8\">
</head>
<body>" > $html_file

View File

@ -222,7 +222,7 @@ if [[ $KEY ]]; then
echo "$KEYFILE" > ~/.zen/game/players/$PLAYER/ipfs/.${IPFSNODEID}/KEY/${MEDIAKEY}/${G1PUB}/.ipns.key.keystore_filename
# Publishing IPNS key
echo "$KEY" > ~/.zen/game/players/$PLAYER/ipfs/.${IPFSNODEID}/KEY/${MEDIAKEY}/${G1PUB}/.ipns.link
# CREATE .zen = ZEN economic value counter
# CREATE .zen = economic value counter
touch ~/.zen/game/players/$PLAYER/ipfs/.${IPFSNODEID}/KEY/${MEDIAKEY}/${G1PUB}/.zen
################ STORE ENCRYPT keystore/$KEYFILE
cp ~/.ipfs/keystore/$KEYFILE ~/.zen/game/players/$PLAYER/ipfs/.${IPFSNODEID}/KEY/${MEDIAKEY}/${G1PUB}/