Convert symlink $(readlink ~/.zen/ipfs)

This commit is contained in:
fred 2022-06-14 01:12:58 +02:00
parent 50cf9e0fcb
commit 67e77f20e1
3 changed files with 130 additions and 130 deletions

View File

@ -46,7 +46,7 @@ curl -s ${GCHANGE}/user/profile/${G1PUB} > ~/.zen/ipfs/.$IPFSNODEID/G1SSB/_g1.gc
Gtitle=$(cat ~/.zen/ipfs/.$IPFSNODEID/G1SSB/_g1.gchange.json | jq -r '._source.title') Gtitle=$(cat ~/.zen/ipfs/.$IPFSNODEID/G1SSB/_g1.gchange.json | jq -r '._source.title')
[[ $Gtitle ]] && echo "$Gtitle" > ~/.zen/ipfs/.$IPFSNODEID/G1SSB/_g1.gchange_title [[ $Gtitle ]] && echo "$Gtitle" > ~/.zen/ipfs/.$IPFSNODEID/G1SSB/_g1.gchange_title
echo"# ACTUAL _g1.gchange_title=$Gtitle" echo "# ACTUAL _g1.gchange_title=$Gtitle"
# UPDATE _g1.astroport_title with city # UPDATE _g1.astroport_title with city
Atitle="Station $YOU@$XZUID" Atitle="Station $YOU@$XZUID"

View File

@ -20,7 +20,7 @@ echo "Adding ~/.zen/ipfs to IPFS"
# then # then
echo "$(date -u +%s%N | cut -b1-13)" > ~/.zen/ipfs/.${IPFSNODEID}/.timestamp echo "$(date -u +%s%N | cut -b1-13)" > ~/.zen/ipfs/.${IPFSNODEID}/.timestamp
echo $MIPFS > ~/.zen/ipfs/.${IPFSNODEID}/.chain echo $MIPFS > ~/.zen/ipfs/.${IPFSNODEID}/.chain
MIPFS=$(ipfs add -rHq ~/.zen/ipfs | tail -n 1) MIPFS=$(ipfs add -rHq $(readlink ~/.zen/ipfs) | tail -n 1)
NODEIPNS=$(ipfs --timeout=180s name publish --quieter /ipfs/$MIPFS) NODEIPNS=$(ipfs --timeout=180s name publish --quieter /ipfs/$MIPFS)
echo "$NODEIPNS:TIME:$(cat ~/.zen/ipfs/.${IPFSNODEID}/.timestamp):CHAIN:$(cat ~/.zen/ipfs/.${IPFSNODEID}/.chain)" echo "$NODEIPNS:TIME:$(cat ~/.zen/ipfs/.${IPFSNODEID}/.timestamp):CHAIN:$(cat ~/.zen/ipfs/.${IPFSNODEID}/.chain)"
# fi # fi

View File

@ -41,37 +41,37 @@ IPFSNODEID=$(ipfs id -f='<id>\n')
G1PUB=$(cat ~/.ssb/secret.dunikey | grep 'pub:' | cut -d ' ' -f 2) G1PUB=$(cat ~/.ssb/secret.dunikey | grep 'pub:' | cut -d ' ' -f 2)
echo "G1SSB Wallet: $G1PUB echo "G1SSB Wallet: $G1PUB
IPFS: $IPFSNODEID IPFS: $IPFSNODEID
__ __ _ _ _______ __ __ _ _ _______
_______ _ __ | \/ | / \ | |/ / ____| _______ _ __ | \/ | / \ | |/ / ____|
|_ / _ \ '_ \ | |\/| | / _ \ | ' /| _| |_ / _ \ '_ \ | |\/| | / _ \ | ' /| _|
/ / __/ | | | | | | |/ ___ \| . \| |___ / / __/ | | | | | | |/ ___ \| . \| |___
/___\___|_| |_| |_| |_/_/ \_\_|\_\_____| /___\___|_| |_| |_| |_/_/ \_\_|\_\_____|
" "
######################################################################## ########################################################################
# ZenTag is an IPFS/IPNS datastructure shared into IPFS, publish # ZenTag is an IPFS/IPNS datastructure shared into IPFS, publish
# ~~~ Draft ~~~~ Draft ~~~~ Draft ~~~~ Draft ~~~~ Draft ~~~~ # ~~~ Draft ~~~~ Draft ~~~~ Draft ~~~~ Draft ~~~~ Draft ~~~~
# _chain # ZenTag IPFS Hash # _chain # ZenTag IPFS Hash
# _chain.n # Sequence Number # _chain.n # Sequence Number
# _chain.nanodate # Current nanodate # _chain.nanodate # Current nanodate
# _chain.prev # Previous IPFS Hash # _chain.prev # Previous IPFS Hash
# _g1.node.creator # G1SSB wallet pubkey # _g1.node.creator # G1SSB wallet pubkey
# _tag.issuer # G1TX ISSUER pubkey # _tag.issuer # G1TX ISSUER pubkey
# _tag.zensource # G1TX HASH or SSB timestamp # _tag.zensource # G1TX HASH or SSB timestamp
# _ipfs.node.creatorcat # NODE IPFS ID # _ipfs.node.creatorcat # NODE IPFS ID
# _ipfs.publishkey.BB.aes # BB SYMcypher of IPNS publish key # _ipfs.publishkey.BB.aes # BB SYMcypher of IPNS publish key
# _ipfs.publishkey.crypt # G1SSB ASYMcypher of IPNS publish key # _ipfs.publishkey.crypt # G1SSB ASYMcypher of IPNS publish key
# _tag.BB.sha # BB sha256sum # _tag.BB.sha # BB sha256sum
# _tag.uid # ZenTag UID # _tag.uid # ZenTag UID
# _tag.zen # ZentTag balance # _tag.zen # ZentTag balance
# _ipns # /ipns/ address # _ipns # /ipns/ address
# PASSENGER FILE (put to IPFS and cypher link in IPNS ZenTag) # PASSENGER FILE (put to IPFS and cypher link in IPNS ZenTag)
# _passenger.filename # Passenger filename # _passenger.filename # Passenger filename
# _passenger.ipfs.crypt # G1SSB cyphered IPFS Passenger link # _passenger.ipfs.crypt # G1SSB cyphered IPFS Passenger link
# _passenger.read # Zen value asked for READING # _passenger.read # Zen value asked for READING
# _passenger.park # Zen value paid for PARKING # _passenger.park # Zen value paid for PARKING
# Only if contract executed => add new cyphered links # Only if contract executed => add new cyphered links
# _passenger.contract.sh # Zen CONTRACT TODO # _passenger.contract.sh # Zen CONTRACT TODO
# COmpare with code to verify and extend Draft # COmpare with code to verify and extend Draft
# TODO: Could be converted into yaml or json if you like... # TODO: Could be converted into yaml or json if you like...
######################################################################## ########################################################################
@ -85,39 +85,39 @@ if [[ "$METADATA" == "" ]]; then
echo " echo "
# LOVE BANK - PrePaid Card ZenTag # LOVE BANK - PrePaid Card ZenTag
# FULLY BACKED ON IRL G1 LIBRE MONEY (https://cesium.app) # FULLY BACKED ON IRL G1 LIBRE MONEY (https://cesium.app)
# ____ ____ _____ _____ _ _ # ____ ____ _____ _____ _ _
# / ___| _ \| ____| ____| \ | | _______ _ __ # / ___| _ \| ____| ____| \ | | _______ _ __
# | | _| |_) | _| | _| | \| | |_ / _ \ '_ \ # | | _| |_) | _| | _| | \| | |_ / _ \ '_ \
# | |_| | _ <| |___| |___| |\ | / / __/ | | | # | |_| | _ <| |___| |___| |\ | / / __/ | | |
# \____|_| \_\_____|_____|_| \_| /___\___|_| |_| # \____|_| \_\_____|_____|_| \_| /___\___|_| |_|
# #
" "
# COMMENT WILL BREAK (G1 <=> ZEN) STRICT RELATION # COMMENT WILL BREAK (G1 <=> ZEN) STRICT RELATION
[[ ! -f ~/.zen/cache/g1_TX_inputs/zen.$ZENSOURCE ]] && echo "ERROR# UNKNOWN ~/.zen/cache/g1_TX_inputs/zen.$ZENSOURCE !!" && exit 1 [[ ! -f ~/.zen/cache/g1_TX_inputs/zen.$ZENSOURCE ]] && echo "ERROR# UNKNOWN ~/.zen/cache/g1_TX_inputs/zen.$ZENSOURCE !!" && exit 1
ISSUER=$(cat ~/.zen/cache/g1_TX_inputs/zen.$ZENSOURCE) ISSUER=$(cat ~/.zen/cache/g1_TX_inputs/zen.$ZENSOURCE)
[[ $ISSUER == "" ]] && echo "ERROR# NO ISSUER FOUND FOR TX $ZENSOURCE !!" && exit 1 [[ $ISSUER == "" ]] && echo "ERROR# NO ISSUER FOUND FOR TX $ZENSOURCE !!" && exit 1
echo "ISSUER = $ISSUER SENT TX $ZENSOURCE !!" echo "ISSUER = $ISSUER SENT TX $ZENSOURCE !!"
else else
echo " echo "
_|_ o ._ _ _ _ _|_ _. ._ _ ._ _|_ o ._ _ _ _ _|_ _. ._ _ ._
|_ | | | | (/_ _> |_ (_| | | | |_) |_ | | | | (/_ _> |_ (_| | | | |_)
| |
SSB PASSENGER ~/.zen/miam/$ZENSOURCE SSB PASSENGER ~/.zen/miam/$ZENSOURCE
" "
[[ ! -d ~/.zen/miam/$ZENSOURCE ]] && echo "ERROR# UNKNOWN ~/.zen/miam/$ZENSOURCE !!" && exit 1 [[ ! -d ~/.zen/miam/$ZENSOURCE ]] && echo "ERROR# UNKNOWN ~/.zen/miam/$ZENSOURCE !!" && exit 1
ISSUER=$(cat ~/.zen/miam/$ZENSOURCE/msg_key) ISSUER=$(cat ~/.zen/miam/$ZENSOURCE/msg_key)
[[ $ISSUER == "" ]] && echo "ERROR# NO ISSUER FOUND FOR miam $ZENSOURCE !!" && exit 1 [[ $ISSUER == "" ]] && echo "ERROR# NO ISSUER FOUND FOR miam $ZENSOURCE !!" && exit 1
echo "ISSUER = SSB Message $ISSUER !!" echo "ISSUER = SSB Message $ISSUER !!"
fi fi
######################################################################## ########################################################################
# CREATE ZEN TAG # CREATE ZEN TAG
######################################################################## ########################################################################
# Produce unique 6 words diceware to give a name _tag.uid # Produce unique 6 words diceware to give a name _tag.uid
AA=$(echo $($MY_PATH/tools/diceware.sh 6 | xargs) | sed s/\ /_/g ) # ZenTag Name = Diceware_6_words AA=$(echo $($MY_PATH/tools/diceware.sh 6 | xargs) | sed s/\ /_/g ) # ZenTag Name = Diceware_6_words
@ -126,12 +126,12 @@ AAH=$(echo -n ${AA} | sha256sum | cut -d ' ' -f 1) # ZenTag Name SHA256
# TODO ACTIVATE SWARM UNICITY CHECK # TODO ACTIVATE SWARM UNICITY CHECK
# Create Unique Zentag for all IPFS SWARM! # Create Unique Zentag for all IPFS SWARM!
while [[ $(grep -Rwl "$AA" ~/.zen/ipfs_swarm/.12D3KooW*/TAG/*/_tag.uid) ]]; do while [[ $(grep -Rwl "$AA" ~/.zen/ipfs_swarm/.12D3KooW*/TAG/*/_tag.uid) ]]; do
AA=$(echo $($MY_PATH/tools/diceware.sh 6 | xargs) | sed s/\ /_/g ) AA=$(echo $($MY_PATH/tools/diceware.sh 6 | xargs) | sed s/\ /_/g )
AAH=$(echo -n ${AA} | sha256sum | cut -d ' ' -f 1) AAH=$(echo -n ${AA} | sha256sum | cut -d ' ' -f 1)
done done
# BB key is a 4 word diceware printed on QRCode for Human use. # BB key is a 4 word diceware printed on QRCode for Human use.
# SHA256 PASSWORD CHECK FOR ALLOWING WRITE ACTION # SHA256 PASSWORD CHECK FOR ALLOWING WRITE ACTION
BB=$($MY_PATH/tools/diceware.sh 4 | xargs); BB=$($MY_PATH/tools/diceware.sh 4 | xargs);
BBH=$(echo -n "$BB" | sha256sum | cut -d ' ' -f 1) BBH=$(echo -n "$BB" | sha256sum | cut -d ' ' -f 1)
@ -141,14 +141,14 @@ BBH=$(echo -n "$BB" | sha256sum | cut -d ' ' -f 1)
mkdir -p ~/.zen/tag/${AAH} mkdir -p ~/.zen/tag/${AAH}
# LOG # LOG
echo " echo "
_____ _____ _ ____ _____ _____ _ ____
|__ /___ _ _|_ _|/ \ / ___| __/\__ |__ /___ _ _|_ _|/ \ / ___| __/\__
/ // _ \ °_ \| | / _ \| | _ \ / / // _ \ °_ \| | / _ \| | _ \ /
/ /| __/ | | | |/ ___ \ |_| | /_ _\ / /| __/ | | | |/ ___ \ |_| | /_ _\
/____\___|_| |_|_/_/ \_\____| \/ /____\___|_| |_|_/_/ \_\____| \/
******************************************************* *******************************************************
| $AA | $ZEN Zen | $AA | $ZEN Zen
******************************************************* *******************************************************
CREATING ~/.zen/tag/${AAH}/ CREATING ~/.zen/tag/${AAH}/
" "
@ -159,8 +159,8 @@ echo "$ZEN" > ~/.zen/tag/${AAH}/_tag.zen # Tag ZEN amount
echo "${IPFSNODEID}" > ~/.zen/tag/${AAH}/_ipfs.node.creator # NODE IPFS ID echo "${IPFSNODEID}" > ~/.zen/tag/${AAH}/_ipfs.node.creator # NODE IPFS ID
echo "$ZENSOURCE" > ~/.zen/tag/${AAH}/_tag.zensource # ZENSOURCE echo "$ZENSOURCE" > ~/.zen/tag/${AAH}/_tag.zensource # ZENSOURCE
echo "$G1PUB" > ~/.zen/tag/${AAH}/_g1.node.creator # CREATOR IPFS NODE G1PUBKEY echo "$G1PUB" > ~/.zen/tag/${AAH}/_g1.node.creator # CREATOR IPFS NODE G1PUBKEY
echo "$ISSUER" > ~/.zen/tag/${AAH}/_tag.issuer # TX ISSUER G1PUBKEY OR SSB_MESSAGE ID echo "$ISSUER" > ~/.zen/tag/${AAH}/_tag.issuer # TX ISSUER G1PUBKEY OR SSB_MESSAGE ID
######################################################################## ########################################################################
# Create IPNS publishing key ${AA}.key # Create IPNS publishing key ${AA}.key
# ===================================== # =====================================
@ -170,7 +170,7 @@ echo "$ISSUER" > ~/.zen/tag/${AAH}/_tag.issuer # TX ISSUER G1PUBKEY OR SSB_MESSA
######################################################################## ########################################################################
#timestamp=$(date -u +%s%N | cut -b1-13) #timestamp=$(date -u +%s%N | cut -b1-13)
keyname="${ZENSOURCE}_${AA}.key" keyname="${ZENSOURCE}_${AA}.key"
[[ ! $(ipfs key list | grep -F ${AA}.key) ]] && J0=$(ipfs key gen -t rsa -s 2048 $keyname) [[ ! $(ipfs key list | grep -F ${AA}.key) ]] && J0=$(ipfs key gen -t rsa -s 2048 $keyname)
# WRITE BBH for QRCode BB verification # WRITE BBH for QRCode BB verification
echo "$BBH" > ~/.zen/tag/${AAH}/_tag.BB.sha echo "$BBH" > ~/.zen/tag/${AAH}/_tag.BB.sha
# BB pgp symetric publishkey # BB pgp symetric publishkey
@ -185,9 +185,9 @@ CYPHERING PUBLISH KEY
__ _ __ _
_/_/ __/|_ __/|_ | | _/_/ __/|_ __/|_ | |
/ / | / | / / / / / | / | / / /
/ / /_ __| /_ __| / / / / /_ __| /_ __| / /
/ / |/ |/ _/_/ / / |/ |/ _/_/
|_| /_/ |_| /_/
KEY : $BB KEY : $BB
BBH : $BBH BBH : $BBH
@ -196,61 +196,61 @@ BBH : $BBH
# PASSENGER FILE is added to IPFS (then link is cyphered: NO!) # PASSENGER FILE is added to IPFS (then link is cyphered: NO!)
# https://beechat.network/how-beechats-encryption-works/ # https://beechat.network/how-beechats-encryption-works/
# SECURITY IS OBSOLETE AS WE ARE SHARING COPY WITH FRIENDS ;) # SECURITY IS OBSOLETE AS WE ARE SHARING COPY WITH FRIENDS ;)
# ACTIVATE ZEN CONTRACT... 100 readers impresari # ACTIVATE ZEN CONTRACT... 100 readers impresari
# LOVE ECONOMY IS FREE. EVERYBODY IS DONATING TO THE OTHERS NOW. # LOVE ECONOMY IS FREE. EVERYBODY IS DONATING TO THE OTHERS NOW.
# INCOME != MONEY FORGE (Realtive Moey Theory applies HERE) # INCOME != MONEY FORGE (Realtive Moey Theory applies HERE)
# CODE WILL BE CERTIFIED AS IPFS HASH. # CODE WILL BE CERTIFIED AS IPFS HASH.
if [[ -f $PASSENGER ]]; then if [[ -f $PASSENGER ]]; then
echo " echo "
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/ \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \
( p | a | s | s | e | n | g | e | r ) ( p | a | s | s | e | n | g | e | r )
\_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/
" "
# SEARCH FOR SAME SOURCE in IPFS... Not to make it twice... # SEARCH FOR SAME SOURCE in IPFS... Not to make it twice...
CHECKSWARM=$(grep -Rwl "$ZENSOURCE" ~/.zen/ipfs_swarm/.12D3KooW*/TAG/*/_tag.zensource | tail -n 1 | cut -f 6 -d '/') CHECKSWARM=$(grep -Rwl "$ZENSOURCE" ~/.zen/ipfs_swarm/.12D3KooW*/TAG/*/_tag.zensource | tail -n 1 | cut -f 6 -d '/')
[[ $CHECKSWARM == "" ]] && CHECKSWARM=$(grep -Rwl "$ZENSOURCE" ~/.zen/ipfs/.$IPFSNODEID/TAG/*/_tag.zensource | tail -n 1 | cut -f 6 -d '/') [[ $CHECKSWARM == "" ]] && CHECKSWARM=$(grep -Rwl "$ZENSOURCE" ~/.zen/ipfs/.$IPFSNODEID/TAG/*/_tag.zensource | tail -n 1 | cut -f 6 -d '/')
[[ -s ~/.zen/ipfs/.$IPFSNODEID/TAG/$ZENSOURCE/_tag.issuer ]] && ISSUERSWARM=$(cat ~/.zen/ipfs/.$IPFSNODEID/TAG/$ZENSOURCE/_tag.issuer) [[ -s ~/.zen/ipfs/.$IPFSNODEID/TAG/$ZENSOURCE/_tag.issuer ]] && ISSUERSWARM=$(cat ~/.zen/ipfs/.$IPFSNODEID/TAG/$ZENSOURCE/_tag.issuer)
[[ "$CHECKSWARM" != "" && "$ISSUERSWARM" == "$ISSUER" ]] && ipfs key rm $keyname && rm -Rf ~/.zen/tag/${AAH} \ [[ "$CHECKSWARM" != "" && "$ISSUERSWARM" == "$ISSUER" ]] && ipfs key rm $keyname && rm -Rf ~/.zen/tag/${AAH} \
&& echo "$ZENSOURCE ALREADY COPIED IN IPFS SWARM. $CHECKSWARM CANCEL" && exit 1 && echo "$ZENSOURCE ALREADY COPIED IN IPFS SWARM. $CHECKSWARM CANCEL" && exit 1
# NO DUPLICATE # NO DUPLICATE
echo "ADDING TO IPFS.................$(date)" echo "ADDING TO IPFS.................$(date)"
# ADD PASSENGER TO IPFS # COULD BE SUPER LONG !!! # ADD PASSENGER TO IPFS # COULD BE SUPER LONG !!!
IPASSENGER=$(ipfs add -q "$PASSENGER" -w | tail -n 1) IPASSENGER=$(ipfs add -q "$PASSENGER" -w | tail -n 1)
# TODO COMPARE DISK WRITING SPEED AND AVAILABLE SPACE TO CHOOSE BEST IN SWARM # TODO COMPARE DISK WRITING SPEED AND AVAILABLE SPACE TO CHOOSE BEST IN SWARM
echo "$(date) ............... YES /ipfs/$IPASSENGER" echo "$(date) ............... YES /ipfs/$IPASSENGER"
echo "$IPASSENGER" > ~/.zen/tag/${AAH}/_passenger.ipfs
# GET FILE NAME
PASSENGERNAME=$(basename -- "$PASSENGER")
echo "$PASSENGERNAME" > ~/.zen/tag/${AAH}/_passenger.filename
# G1SSB NODE ACCESS echo "$IPASSENGER" > ~/.zen/tag/${AAH}/_passenger.ipfs
$MY_PATH/tools/natools.py encrypt -p $G1PUB -i ~/.zen/tag/${AAH}/_passenger.ipfs -o ~/.zen/tag/${AAH}/_passenger.ipfs.crypt # GET FILE NAME
# BB OWNER ACCESS PASSENGERNAME=$(basename -- "$PASSENGER")
openssl aes-256-cbc -pbkdf2 -k "$BB" -salt -in ~/.zen/tag/${AAH}/_passenger.ipfs -out ~/.zen/tag/${AAH}/_passenger.ipfs.BB.aes echo "$PASSENGERNAME" > ~/.zen/tag/${AAH}/_passenger.filename
# CLEAN CLEARTEXT IPFS link ? LATER MAYBE # G1SSB NODE ACCESS
rm ~/.zen/tag/${AAH}/_passenger.ipfs $MY_PATH/tools/natools.py encrypt -p $G1PUB -i ~/.zen/tag/${AAH}/_passenger.ipfs -o ~/.zen/tag/${AAH}/_passenger.ipfs.crypt
# BB OWNER ACCESS
openssl aes-256-cbc -pbkdf2 -k "$BB" -salt -in ~/.zen/tag/${AAH}/_passenger.ipfs -out ~/.zen/tag/${AAH}/_passenger.ipfs.BB.aes
# ZEN ECONOMY: ZEN READ payment + PARK rental # CLEAN CLEARTEXT IPFS link ? LATER MAYBE
echo "$READ" > ~/.zen/tag/${AAH}/_passenger.read rm ~/.zen/tag/${AAH}/_passenger.ipfs
echo "$PARK" > ~/.zen/tag/${AAH}/_passenger.park
# ZEN ECONOMY: ZEN READ payment + PARK rental
echo "$READ" > ~/.zen/tag/${AAH}/_passenger.read
echo "$PARK" > ~/.zen/tag/${AAH}/_passenger.park
echo " echo "
_passenger.filename : $PASSENGERNAME _passenger.filename : $PASSENGERNAME
_passenger.ipfs : $IPASSENGER _passenger.ipfs : $IPASSENGER
http://127.0.0.1:8080/ipfs/$IPASSENGER/$PASSENGERNAME http://127.0.0.1:8080/ipfs/$IPASSENGER/$PASSENGERNAME
# #### ## ##### ###### ##### # #### ## ##### ###### #####
# # # # # # # # # # # # # # # # # # # #
# # # # # # # ##### # # # # # # # # # ##### # #
# # # ###### # # # # # # # # ###### # # # # #
# # # # # # # # # # # # # # # # # # # #
###### #### # # ##### ###### ##### ###### #### # # ##### ###### #####
################################################################## ##################################################################
# DECODE AND READ _passenger.ipfs with BB Passphrase # DECODE AND READ _passenger.ipfs with BB Passphrase
@ -273,12 +273,12 @@ echo
#You must execute that code. #You must execute that code.
# ..... TODO ...... # ..... TODO ......
# It is bash or javascript or python # It is bash or javascript or python
# or any language code with connection with g1, ipfs or ssb # or any language code with connection with g1, ipfs or ssb
# or Send $READ Zen to $G1PUB with $PASSENGERNAME in comment # or Send $READ Zen to $G1PUB with $PASSENGERNAME in comment
# .... TODO .... # .... TODO ....
# Once contract is validated # Once contract is validated
# NodeN will be able to decrypt _passenger.ipfs.NodeN.crypt' # NodeN will be able to decrypt _passenger.ipfs.NodeN.crypt'
exit 0 exit 0
@ -286,13 +286,13 @@ exit 0
EOF EOF
fi fi
# END PASSENGER FILE # END PASSENGER FILE
#################### ####################
########################################################### ###########################################################
# Copy TAG into IPFS + ipfs name publish -k ${AA}.key # Copy TAG into IPFS + ipfs name publish -k ${AA}.key
########################################################### ###########################################################
# ZenTAG CHAIN # ZenTAG CHAIN
echo "0" > ~/.zen/tag/${AAH}/_chain.n # Tag modification number (0 first) echo "0" > ~/.zen/tag/${AAH}/_chain.n # Tag modification number (0 first)
NANODATE=$(date -u +%s%N) NANODATE=$(date -u +%s%N)
@ -307,7 +307,7 @@ I=$(ipfs add -qr ~/.zen/tag/${AAH} | tail -n 1)
echo "${I}" > ~/.zen/tag/${AAH}/_chain echo "${I}" > ~/.zen/tag/${AAH}/_chain
echo " echo "
_|_ _.o._ _|_ _.o._
(_| |(_||| | : $NANODATE (_| |(_||| | : $NANODATE
J0=${J0} J0=${J0}
@ -329,37 +329,37 @@ echo "${ISSUER}" > ~/.zen/ipfs/.$IPFSNODEID/TAG/${ZENSOURCE}/_tag.issuer
echo "${J}" > ~/.zen/ipfs/.$IPFSNODEID/TAG/${ZENSOURCE}/_tag.ipns echo "${J}" > ~/.zen/ipfs/.$IPFSNODEID/TAG/${ZENSOURCE}/_tag.ipns
if [[ "${PASSENGERNAME}" != "" ]]; then if [[ "${PASSENGERNAME}" != "" ]]; then
echo "${PASSENGERNAME}" > ~/.zen/ipfs/.$IPFSNODEID/TAG/${ZENSOURCE}/_tag.passenger.filename echo "${PASSENGERNAME}" > ~/.zen/ipfs/.$IPFSNODEID/TAG/${ZENSOURCE}/_tag.passenger.filename
# COPY METADATA!! TODO : Please Extend filesource FOR new metadata types. torrent ? # COPY METADATA!! TODO : Please Extend filesource FOR new metadata types. torrent ?
extractor=$(cat "$METADATA" | jq -r '.extractor') extractor=$(cat "$METADATA" | jq -r '.extractor')
youtubeid=$(cat "$METADATA" | jq -r '.id') youtubeid=$(cat "$METADATA" | jq -r '.id')
fulltitle=$(cat "$METADATA" | jq -r '.fulltitle') fulltitle=$(cat "$METADATA" | jq -r '.fulltitle')
echo "$fulltitle" > ~/.zen/ipfs/.$IPFSNODEID/TAG/${ZENSOURCE}/_tag.passenger.fulltitle echo "$fulltitle" > ~/.zen/ipfs/.$IPFSNODEID/TAG/${ZENSOURCE}/_tag.passenger.fulltitle
# description=$(cat "$METADATA" | jq -r '.description') # description=$(cat "$METADATA" | jq -r '.description')
artist=$(cat "$METADATA" | jq -r '.artist') artist=$(cat "$METADATA" | jq -r '.artist')
album=$(cat "$METADATA" | jq -r '.album') album=$(cat "$METADATA" | jq -r '.album')
duration=$(cat "$METADATA" | jq -r '.duration') duration=$(cat "$METADATA" | jq -r '.duration')
upload_date=$(cat "$METADATA" | jq -r '.upload_date') upload_date=$(cat "$METADATA" | jq -r '.upload_date')
uploader_id=$(cat "$METADATA" | jq -r '.uploader_id') uploader_id=$(cat "$METADATA" | jq -r '.uploader_id')
extractor=$(cat "$METADATA" | jq -r '.extractor') extractor=$(cat "$METADATA" | jq -r '.extractor')
[[ ! -f ~/.zen/ipfs/.$IPFSNODEID/TAG/${ZENSOURCE}/_tag.passenger.metadata.${extractor}.json ]] \ [[ ! -f ~/.zen/ipfs/.$IPFSNODEID/TAG/${ZENSOURCE}/_tag.passenger.metadata.${extractor}.json ]] \
&& cp -f "${METADATA}" /tmp/ && cp -f "${METADATA}" /tmp/
mv /tmp/${youtubeid}.info.json ~/.zen/ipfs/.$IPFSNODEID/TAG/${ZENSOURCE}/_tag.passenger.metadata.${extractor}.json mv /tmp/${youtubeid}.info.json ~/.zen/ipfs/.$IPFSNODEID/TAG/${ZENSOURCE}/_tag.passenger.metadata.${extractor}.json
fi fi
ls ~/.zen/ipfs/.$IPFSNODEID/TAG/${ZENSOURCE}/ ls ~/.zen/ipfs/.$IPFSNODEID/TAG/${ZENSOURCE}/
IWALLETS=$(ipfs add -rHq ~/.zen/ipfs | tail -n 1) IWALLETS=$(ipfs add -rHq $(readlink ~/.zen/ipfs) | tail -n 1)
NODEIPNS=$(ipfs name publish --quieter /ipfs/$IWALLETS) NODEIPNS=$(ipfs name publish --quieter /ipfs/$IWALLETS)
echo " echo "
_ ____ _ ____
(_)___ / __/____ (_)___ / __/____
/ / __ \/ /_/ ___/ / / __ \/ /_/ ___/
/ / /_/ / __(__ ) / / /_/ / __(__ )
/_/ .___/_/ /____/ /_/ .___/_/ /____/
/_/ /_/
ipfs ls /ipfs/${I} ipfs ls /ipfs/${I}
ZenTAG : ipfs ls /ipns/${J} ZenTAG : ipfs ls /ipns/${J}
@ -371,8 +371,8 @@ NODE index : ipfs ls /ipns/$IPFSNODEID/.$IPFSNODEID/TAG/${ZENSOURCE}
### PRINTER IS HOOKED TO G1SSB NODE = G1DAB ### PRINTER IS HOOKED TO G1SSB NODE = G1DAB
######################################################################## ########################################################################
echo " echo "
_ _ _ _ _ _ _ _ _ _ _ _
/ \|_) / / \| \|_ / \|_) / / \| \|_
\_X| \ \_\_/|_/|_ ................................. \_X| \ \_\_/|_/|_ .................................
" "
# READ QRCODE # READ QRCODE
@ -381,8 +381,8 @@ qrencode -s 5 -o ~/.zen/tag/${AAH}/_QRCODE.read.png "RJ:${AA}#${J}"
qrencode -s 5 -o ~/.zen/tag/${AAH}/_QRCODE.write.png "BJ:${BB}#${J}" qrencode -s 5 -o ~/.zen/tag/${AAH}/_QRCODE.write.png "BJ:${BB}#${J}"
## TODO PROD REMOVE WRITE FILE ## TODO PROD REMOVE WRITE FILE
echo "QRCodes CREATED !! echo "QRCodes CREATED !!
See it : See it :
xviewer ~/.zen/tag/${AAH}/_QRCODE.read.png & xviewer ~/.zen/tag/${AAH}/_QRCODE.read.png &
xviewer ~/.zen/tag/${AAH}/_QRCODE.write.png & xviewer ~/.zen/tag/${AAH}/_QRCODE.write.png &
@ -397,7 +397,7 @@ ${AA}
# SBOT PUBLISH # SBOT PUBLISH
######################################################################## ########################################################################
if [[ "${PASSENGERNAME}" != "" ]]; then if [[ "${PASSENGERNAME}" != "" ]]; then
echo "$ISSUER" echo "$ISSUER"
msg="$(sbotc get '{"id":"'"$ISSUER"'"}')" msg="$(sbotc get '{"id":"'"$ISSUER"'"}')"
# echo "$msg" | jq #DEBUG # echo "$msg" | jq #DEBUG
[[ $msg == "" ]] && echo "ERROR No SSB message for PASSENGER (timestamp: $tstamp)" && exit 1 [[ $msg == "" ]] && echo "ERROR No SSB message for PASSENGER (timestamp: $tstamp)" && exit 1
@ -405,13 +405,13 @@ if [[ "${PASSENGERNAME}" != "" ]]; then
[[ $msg_root == "null" ]] && msg_root=$ISSUER [[ $msg_root == "null" ]] && msg_root=$ISSUER
msg_branch=$(printf %s "$msg" | jq -r .value.content.branch) msg_branch=$(printf %s "$msg" | jq -r .value.content.branch)
[[ $msg_branch == "null" ]] && msg_branch=$ISSUER [[ $msg_branch == "null" ]] && msg_branch=$ISSUER
# ATTACH ~/.zen/miam/$ZENSOURCE/ssb_thumb.jpg # ATTACH ~/.zen/miam/$ZENSOURCE/ssb_thumb.jpg
name="ssb_thumb.jpg" name="ssb_thumb.jpg"
id="$(sbotc blobs.add < ~/.zen/miam/$ZENSOURCE/ssb_thumb.jpg)" id="$(sbotc blobs.add < ~/.zen/miam/$ZENSOURCE/ssb_thumb.jpg)"
type="$(file -b --mime-type ~/.zen/miam/$ZENSOURCE/ssb_thumb.jpg)" type="$(file -b --mime-type ~/.zen/miam/$ZENSOURCE/ssb_thumb.jpg)"
size="$(wc -c < ~/.zen/miam/$ZENSOURCE/ssb_thumb.jpg)" size="$(wc -c < ~/.zen/miam/$ZENSOURCE/ssb_thumb.jpg)"
export MESSAGE=$(cat << EOF export MESSAGE=$(cat << EOF
[![ssb_thumb.jpg](${id})](http://127.0.0.1:8080/ipfs/$IPASSENGER/$PASSENGERNAME) [![ssb_thumb.jpg](${id})](http://127.0.0.1:8080/ipfs/$IPASSENGER/$PASSENGERNAME)
@ -432,10 +432,10 @@ if [[ "${PASSENGERNAME}" != "" ]]; then
#astroport #astroport
EOF EOF
) )
echo " echo "
__ _ ____ __ _ ____
(_ |_)/ \| (_ |_)/ \|
__)|_)\_/| POST __)|_)\_/| POST
root: $msg_root root: $msg_root