2019-11-27 23:43:32 +01:00
|
|
|
#!/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"
|
2019-12-24 05:47:47 +01:00
|
|
|
NODE_G1PUBKEY=$(cat "./g1sms.pub.key")
|
2019-11-27 23:43:32 +01:00
|
|
|
|
2019-12-24 05:47:47 +01:00
|
|
|
if [[ ! $READERID || ! $JSOURCE || ! -f "$KEYFILE" || ! $NODE_G1PUBKEY ]]; then "Something is wrong! Do you know what you are doing?"; exit; fi
|
2019-11-27 23:43:32 +01:00
|
|
|
|
|
|
|
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"
|
2020-01-06 18:37:28 +01:00
|
|
|
JSOURCEPUBLISHKEY="./TAG/${JSOURCERR}/TAG_publishkey.swarm.crypt"
|
2019-11-27 23:43:32 +01:00
|
|
|
|
|
|
|
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
|
|
|
|
|