N1GPU G1PalPay remote command by paying it
This commit is contained in:
parent
5db5d11f9a
commit
014663bbe8
|
@ -0,0 +1,78 @@
|
|||
#!/bin/bash
|
||||
########################################################################
|
||||
# Version: 0.1
|
||||
# License: AGPL-3.0 (https://choosealicense.com/licenses/agpl-3.0/)
|
||||
########################################################################
|
||||
[[ ! $(which ollama) ]] \
|
||||
&& echo "STATION NEED TO RUN OLLAMA" \
|
||||
&& exit 1
|
||||
##
|
||||
########################################################################
|
||||
MY_PATH="`dirname \"$0\"`" # relative
|
||||
MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized
|
||||
ME="${0##*/}"
|
||||
|
||||
. "${MY_PATH}/../tools/my.sh"
|
||||
|
||||
echo "$ME RUNNING"
|
||||
########################################################################
|
||||
## G1PalPAY incoming TX detected call
|
||||
## ./ASTROBOT/${CMD}.sh ${INDEX} ${PLAYER} ${MOATS} ${TXIPUBKEY} ${TH} ${TRAIL} ${TXIAMOUNT}
|
||||
########################################################################
|
||||
## TH=/ipfs/CID (mp4 source file to transcript "voice 2 text" or other depending MODE)
|
||||
## TRAIL=MODE:G1PUB (what to do and where to send response)
|
||||
# default: mp4TOtxt and alert back to emiter
|
||||
########################################################################
|
||||
## THIS SCRIPT IS RUN WHEN A WALLET RECEIVED A TRANSACTION WITH COMMENT STARTING WITH N1GPU:
|
||||
########################################################################
|
||||
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
|
||||
|
||||
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 "FATAL ERROR - G1PUB ${PLAYER} VIDE. LOCAL PLAYER ONLY." && exit 1
|
||||
|
||||
# Extract tag=tube from TW
|
||||
MOATS="$3"
|
||||
[[ ! ${MOATS} ]] && MOATS=$(date -u +"%Y%m%d%H%M%S%4N")
|
||||
|
||||
IPUBKEY="$4"
|
||||
[[ ! ${IPUBKEY} ]] && echo "ERROR 4 - MISSING COMMAND ISSUER !" && exit 1
|
||||
|
||||
TH="$5"
|
||||
[[ ! ${TH} ]] && echo "ERROR 5 - MISSING COMMAND TITLE HASH ADDRESS !" && exit 1
|
||||
|
||||
TRAIL="$6" ## ::G1PUB
|
||||
MODE=$(echo ${TRAIL} | cut -d ':' -f 1)
|
||||
GIPUBKEY=$(echo ${TRAIL} | cut -d ':' -f 2-)
|
||||
[[ ! -z ${GIPUBKEY} ]] \
|
||||
&& DPUBKEY=${GIPUBKEY} \
|
||||
|| DPUBKEY=${IPUBKEY}
|
||||
|
||||
AMOUNT="$7"
|
||||
[[ ! ${AMOUNT} ]] && echo "ERROR 7 - AMOUNT=$7 7 " && exit 1
|
||||
|
||||
echo "${PLAYER} : ${IPUBKEY} ASK FOR PROCESSING ${TH}
|
||||
${TRAIL}"
|
||||
|
||||
#~ ###################################################################
|
||||
#~ ## CREATE APP NODE PLAYER PUBLICATION DIRECTORY
|
||||
#~ ###################################################################
|
||||
mkdir -p $HOME/.zen/tmp/${MOATS} && echo $HOME/.zen/tmp/${MOATS}
|
||||
|
||||
|
||||
RESPIPFS="/ipfs/"$(ipfs add -q "$RESP")
|
||||
|
||||
|
||||
## SENDING GCHANGE & CESIUM+ MESSAGE
|
||||
$MY_PATH/../tools/jaklis/jaklis.py -k ~/.zen/game/players/${PLAYER}/secret.dunikey -n ${myDATA} send -d "${DPUBKEY}" -t "N1GPU" -m "${MESSAGE}"
|
||||
$MY_PATH/../tools/jaklis/jaklis.py -k ~/.zen/game/players/${PLAYER}/secret.dunikey -n ${myCESIUM} send -d "${DPUBKEY}" -t "N1GPU" -m "${MESSAGE}"
|
||||
|
5
ME.md
5
ME.md
|
@ -1,5 +0,0 @@
|
|||
A Ynov depuis la B1, je code en principalement Python
|
||||
j'ai des compétences en Docker, git, en gestion de bdd et traitement des donné
|
||||
|
||||
J'aime faire du piano
|
||||
|
|
@ -0,0 +1,110 @@
|
|||
version: '3'
|
||||
|
||||
services:
|
||||
duniter:
|
||||
container_name: duniter
|
||||
environment:
|
||||
- DEBUG_ENTRYPOINT=${DUNITER_DEBUG_ENTRYPOINT:-${DEBUG_ENTRYPOINT:-${DEBUG:-}}}
|
||||
- DUNITER_AUTO_SYNC=${DUNITER_AUTO_SYNC:-true}
|
||||
- DUNITER_BMA_ENABLED=${DUNITER_BMA_ENABLED:-true}
|
||||
- DUNITER_BMA_IP4=${DUNITER_BMA_IP4:-0.0.0.0}
|
||||
- DUNITER_BMA_REMOTE_HOST=${DUNITER_BMA_REMOTE_HOST:-duniter.localhost}
|
||||
- DUNITER_BMA_REMOTE_PORT=${DUNITER_BMA_REMOTE:-443}
|
||||
- DUNITER_GVA_ENABLED=${DUNITER_GVA_ENABLED:-true}
|
||||
- DUNITER_GVA_PATH=${DUNITER_GVA_PATH:-gva}
|
||||
- DUNITER_GVA_PORT=${DUNITER_GVA_PORT:-30901}
|
||||
- DUNITER_GVA_REMOTE_HOST=${DUNITER_GVA_REMOTE_HOST:-duniter.localhost}
|
||||
- DUNITER_GVA_REMOTE_PATH=${DUNITER_GVA_REMOTE_PATH:-gva}
|
||||
- DUNITER_GVA_REMOTE_PORT=${DUNITER_GVA_REMOTE_PORT:-443}
|
||||
- DUNITER_GVA_REMOTE_TLS=${DUNITER_GVA_REMOTE_TLS:-false}
|
||||
- DUNITER_GVA_WHITELIST=${DUNITER_GVA_WHITELIST:-127.0.0.1,::1}
|
||||
- DUNITER_MANUAL_CONFIG=${DUNITER_MANUAL_CONFIG:-false}
|
||||
- DUNITER_POW_PREFIX=${DUNITER_POW_PREFIX:-}
|
||||
- DUNITER_POW_CPU=${DUNITER_POW_CPU:-0.8}
|
||||
- DUNITER_POW_NBCORES=${DUNITER_POW_NBCORES:-1}
|
||||
- DUNITER_START_OPTS=${DUNITER_START_OPTS:-direct_webstart}
|
||||
- DUNITER_SYNC_HOST=${DUNITER_SYNC_HOST:-g1.duniter.org:443}
|
||||
- DUNITER_SYNC_OPTS=${DUNITER_SYNC_OPTS:-}
|
||||
- DUNITER_WS2P_HOST=${DUNITER_WS2P_HOST:-0.0.0.0}
|
||||
- DUNITER_WS2P_PORT=${DUNITER_W2SP_PORT:-20901}
|
||||
- DUNITER_WS2P_PUBLIC=${DUNITER_W2SP_PUBLIC:-true}
|
||||
- DUNITER_WS2P_REMOTE_HOST=${DUNITER_WS2P_REMOTE_HOST:-duniter.localhost}
|
||||
- DUNITER_WS2P_REMOTE_PATH=${DUNITER_WS2P_REMOTE_PATH:-ws2p}
|
||||
- DUNITER_WS2P_REMOTE_PORT=${DUNITER_WS2P_REMOTE_PORT:-443}
|
||||
image: duniter/duniter:dev
|
||||
networks:
|
||||
- private
|
||||
ports:
|
||||
- 0.0.0.0:10901:10901
|
||||
- 0.0.0.0:20901:20901
|
||||
- 0.0.0.0:30901:30901
|
||||
- 0.0.0.0:9220:9220
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- data:/var/lib/duniter
|
||||
- etc:/etc/duniter
|
||||
# Don't auto-updated duniter
|
||||
labels:
|
||||
- "com.centurylinklabs.watchtower.enable=false"
|
||||
# We start duniter but adding g1nkgo local IP to the allow list, so we can use GVA without rate limits (in theory)
|
||||
entrypoint: /bin/sh -c "while ! getent hosts g1nkgo_host > /dev/null 2>&1; do echo 'Waiting for g1nkgo_host...'; sleep 1; done && G1NKGO_IP=`getent hosts g1nkgo_host | awk '{ print $$1 }'` && export DUNITER_GVA_WHITELIST=$$G1NKGO_IP,$${DUNITER_GVA_WHITELIST:-127.0.0.1,::1} && echo $$DUNITER_GVA_WHITELIST && exec /docker-entrypoint.sh"
|
||||
|
||||
g1nkgo:
|
||||
# image: g1nkgo:latest
|
||||
image: comunes/g1nkgo:latest
|
||||
build:
|
||||
context: .
|
||||
container_name: g1nkgo
|
||||
restart: always
|
||||
hostname: g1nkgo
|
||||
ports:
|
||||
- "1801:80"
|
||||
- "14431:443"
|
||||
volumes:
|
||||
- ~/.ginkgo/nginx-conf:/etc/nginx/:rw
|
||||
# - ./assets:/usr/share/nginx/html/assets:rw
|
||||
labels:
|
||||
- "com.centurylinklabs.watchtower.enable=true"
|
||||
networks:
|
||||
private:
|
||||
aliases:
|
||||
- g1nkgo_host
|
||||
|
||||
environment:
|
||||
# https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
|
||||
# Useful for having logs with local time
|
||||
- TZ=${TZ:-Europe/Copenhagen}
|
||||
# Sentry conf
|
||||
# SENTRY_DSN=https://306345cb87ee4e1cbbe9023fb4afc5fc@sentry.comunes.org/6
|
||||
# Card customization
|
||||
# Empty for default
|
||||
- CARD_TEXT=${CARD_TEXT:-Ğ1 Wallet}
|
||||
# Nodes space-separated
|
||||
# The duniter nodes are only used at boot time, later it tries to calculate periodically the nodes
|
||||
# that are available with the less latency
|
||||
# SENTRY_DSN no tiene valor predeterminado, por lo que no se incluye aquí.
|
||||
- DUNITER_NODES=${DUNITER_NODES:-https://g1.duniter.fr https://g1.le-sou.org https://g1.cgeek.fr https://g1.monnaielibreoccitanie.org https://g1.duniter.fr https://g1.le-sou.org https://g1.cgeek.fr}
|
||||
- CESIUM_PLUS_NODES=${CESIUM_PLUS_NODES:-https://g1.data.le-sou.org https://g1.data.e-is.pro https://g1.data.presles.fr https://g1.data.mithril.re}
|
||||
- GVA_NODES=${GVA_NODES:-https://g1v1.p2p.legal:443/gva https://g1.asycn.io:443/gva https://duniter.pini.fr:443/gva https://duniter.cuates.net:443/gva}
|
||||
|
||||
watchtower:
|
||||
image: containrrr/watchtower
|
||||
container_name: g1nkgo-watchtower
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
# Additional watchtower args
|
||||
# commmand:
|
||||
networks:
|
||||
- private
|
||||
|
||||
networks:
|
||||
private:
|
||||
name: ${DOCKER_NETWORK_PRIVATE:-duniter}
|
||||
# Not in use
|
||||
# public:
|
||||
# name: ${DOCKER_NETWORK_PUBLIC:-host}
|
||||
|
||||
volumes:
|
||||
data:
|
||||
etc:
|
Loading…
Reference in New Issue