G1sms/shell/tag_PLAY_passenger.sh

69 lines
3.1 KiB
Bash
Executable File

#!/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='<id>\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