#!/bin/bash ################################################################################ # Author: Fred (support@qo-op.com) # Version: 0.1 # License: AGPL-3.0 (https://choosealicense.com/licenses/agpl-3.0/) ########################################################################################### # Find and PLAY (cat) passenger File OF G1Tag / REC TAG # sudo pip3 install duniterpy # READERID is PHONE or IPFSNODEID (G1 ./wallets/* ) # JSOURCE is G1Tag IPNS link with PASSENGER ########################################################################################### READERID=$1 JSOURCE=$2 KEYFILE="./g1sms.priv.key" NODE_G1PUBKEY=$(cat "./g1sms.pub.key") if [[ ! $READERID || ! $JSOURCE || ! -f "$KEYFILE" || ! $NODE_G1PUBKEY ]]; then "Something is wrong! Do you know what you are doing?"; exit; fi NODEG1TAG=$(cat "./wallets_swarm/.$READERID/TAG/$READERID") # Contains IPNS link to Node G1Tag if [[ ! $NODEG1TAG ]]; then # INIT NODE G1TAG WITH 1000 zen echo "__SUB:tag_PLAY_passenger.sh: $READERID ne possède pas de G1Tag sudo ./shell/sms_G1TAG.sh \"$READERID\" \"10\" \"1\" \"NODE\" \"$READERID\" " exit fi ############################################# ############## INIT & root check NANODATE=$(date -u +%s%N) echo "__SUB:tag_PLAY_passenger.sh: $READERID IS READING $JSOURCE" ############################################# ############## CHECK ipfs daemon user YOU=$(ps aux --sort=+utime | grep ipfs | tail -n 1 | cut -d " " -f 1) if [[ "$USER" != "root" ]]; then echo "__SUB:tag_PLAY_passenger.sh: Hey, $USER you must able to be root for now (try if sudo access is ok)"; fi if [[ "$YOU" == "" || "$YOU" == "root" ]]; then echo "__SUB:tag_PLAY_passenger.sh: BAD IPFS. Aucune installation IPFS satisfaisante ici... Ciao $USER !"; exit; fi IPFSNODEID=$(su $YOU -c "ipfs id -f='\n'") ############################################# JSOURCERR=$(su $YOU -c "ipfs cat /ipns/$JSOURCE/TAG_id | sed s/\ //g"); if [[ "$JSOURCERR" == "" ]]; then echo "__SUB:tag_PLAY_passenger.sh: G1TAG DETRUIT. Aucun G1Tag /ipns/$JSOURCERR ici... Ciao."; exit; fi mkdir -p ./TAG/${JSOURCERR}; rm -f ./TAG/${JSOURCERR}/* echo "__SUB:tag_PLAY_passenger.sh: FOUND G1Tag... GETTING IT: ipfs get --output=./TAG/${JSOURCERR}/ /ipns/$JSOURCE" chown -R $YOU ./TAG/${JSOURCERR}/ su $YOU -c "ipfs get --output=./TAG/${JSOURCERR}/ /ipns/$JSOURCE" JSOURCEPUBLISHKEY="./TAG/${JSOURCERR}/TAG_publishkey.swarm.crypt" TAGZEN=$(cat "./TAG/${JSOURCERR}/TAG_amount"); DEB=$(cat "./TAG/${JSOURCERR}/TAG_passenger_debit") CRED=$(cat "./TAG/${JSOURCERR}/TAG_passenger_credit") ############################################## # MAKE TRANSACTIONS NODEZEN=$(cat "./wallets/$READERID/$READERID.g1cents") uidna=$(cat "./wallets/$READERID/$READERID.uidna") if [[ $ZEN -gt $CRED ]]; then REZ=$((TAGZEN + CRED)) #echo "$REZ" > "./TAG/${JSOURCERR}/TAG_amount" # TODO READER NEEDS ITS G1TAG #./shell/tag_OP.sh "$READERIDTAG" "J2TAG" "$CRED" $KEYFILE else echo "Désolé ;( $READERID vous manquez de ZEN ($ZEN) pour vous payer la lecture de $JSOURCE ($CRED)" echo "Rechargez avec un VIREMENT vers $uidna" fi # READ PASSENGER