forked from STI/Astroport.ONE
color based common crypto land
This commit is contained in:
parent
d4ddfd15d3
commit
3af864f5de
|
@ -0,0 +1,17 @@
|
|||
Objet : Bienvenue dans la communauté de la Monnaie Libre Ğ1 !
|
||||
|
||||
Cher(e) nouveau/nouvelle membre de la toile de confiance Ğ1,
|
||||
|
||||
Tout d'abord, permettez-moi de vous souhaiter chaleureusement la bienvenue au sein de notre communauté dédiée à la Monnaie Libre. Je suis Fred, membre engagé de ce collectif passionné qui croit fermement en l'idée d'une société du partage, basée sur la gestion collective du Commun.
|
||||
|
||||
Notre groupe, la Société des Technologies Informatiques (STI), rassemble des ingénieurs experts en logiciels libres, prêts à partager leurs connaissances avec tous ceux qui aspirent à utiliser quotidiennement des logiciels libres et des algorithmes clairs. Nous sommes là pour vous accompagner pas à pas, que ce soit pour installer un nœud Duniter, héberger votre propre serveur NextCloud, synchroniser votre smartphone, apprendre à auto-héberger votre site tout en préservant le contrôle sur vos données, et même explorer les arcanes de l'IA Open Source.
|
||||
|
||||
Dans un contexte de virage numérique totalitaire en cours, nous croyons fermement en la nécessité d'accentuer le mouvement de décentralisation. La Monnaie Libre, à l'image des logiciels libres, représente un pilier essentiel de cette transition vers une société où la liberté numérique est préservée.
|
||||
|
||||
N'hésitez pas à participer activement, poser des questions et partager vos expériences au sein de notre communauté. Ensemble, nous pouvons contribuer à façonner un avenir où la liberté, la transparence et la coopération sont au cœur de nos échanges.
|
||||
|
||||
Encore une fois, bienvenue parmi nous ! Nous sommes impatients de construire ensemble un monde numérique plus libre et équitable.
|
||||
|
||||
Cordialement,
|
||||
|
||||
Fred
|
|
@ -0,0 +1,68 @@
|
|||
#!/bin/bash
|
||||
################################################################################
|
||||
# Author: Fred (support@qo-op.com)
|
||||
# Version: 0.2
|
||||
# License: AGPL-3.0 (https://choosealicense.com/licenses/agpl-3.0/)
|
||||
################################################################################
|
||||
MY_PATH="`dirname \"$0\"`" # relative
|
||||
MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized
|
||||
. "$MY_PATH/my.sh"
|
||||
################################################################################
|
||||
|
||||
PLAYER="$1"
|
||||
[[ ! -s ~/.zen/game/players/${PLAYER}/secret.dunikey ]] && PLAYER=".current"
|
||||
|
||||
if [[ ! -s ~/.zen/game/players/${PLAYER}/private_color.png ]]; then
|
||||
PUBKEY=$(cat ~/.zen/game/players/${PLAYER}/secret.dunikey | grep 'pub:' | cut -d ' ' -f 2)
|
||||
SECKEY=$(cat ~/.zen/game/players/${PLAYER}/secret.dunikey | grep 'sec:' | cut -d ' ' -f 2)
|
||||
|
||||
DESTMAIL="$2"
|
||||
|
||||
# Convert the public key to a color (hexadecimal representation)
|
||||
color_hex=$(echo -n ${SECKEY} | sha256sum | awk '{print $1}')
|
||||
|
||||
# Ensure the color is 6 characters long (for RGB)
|
||||
color_hex=${color_hex:0:6}
|
||||
echo "Color Hex: #$color_hex"
|
||||
|
||||
# Convert the color to an Image
|
||||
convert -size 100x100 xc:"#${color_hex}" ~/.zen/game/players/${PLAYER}/private_color.png
|
||||
fi
|
||||
|
||||
# Choosing IPFSNODEID Base Color
|
||||
color_hex=$(echo -n ${IPFSNODEID} | sha256sum | awk '{print $1}')
|
||||
color_hex=${color_hex:0:6}
|
||||
convert -size 100x100 xc:"#${color_hex}" ~/.zen/base_white.png
|
||||
|
||||
# Step 3: Mixing Colors
|
||||
composite -compose Multiply ~/.zen/tmp/base_white.png \
|
||||
~/.zen/game/players/${PLAYER}/private_color.png \
|
||||
~/.zen/tmp/mixed_color.png
|
||||
|
||||
xdg-open ~/.zen/tmp/mixed_color.png
|
||||
|
||||
echo "Sharing 'mixed_color.png' on ipfs pubsub channel"
|
||||
|
||||
# Step 4: Exchange Mixed Colors using IPFS pubsub
|
||||
ipfs_pubsub_channel="diffie_hellman_colors_channel"
|
||||
|
||||
ipfs_pubsub_pub_cmd="ipfs pubsub pub $ipfs_pubsub_channel"
|
||||
ipfs_pubsub_sub_cmd="ipfs pubsub sub $ipfs_pubsub_channel"
|
||||
|
||||
$ipfs_pubsub_pub_cmd < ~/.zen/tmp/mixed_color.png
|
||||
|
||||
# Wait for Bob to publish his mixed color
|
||||
echo "Waiting for Other to publish his mixed color..."
|
||||
mixed_bob_ipfs=$(eval $ipfs_pubsub_sub_cmd)
|
||||
echo "Received Bob's mixed color from IPFS pubsub."
|
||||
|
||||
# Save Bob's mixed color to a file
|
||||
echo "$mixed_bob_ipfs" > ~/.zen/tmp/mixed_bob_from_ipfs.png
|
||||
|
||||
# Step 5: Final Color Agreement
|
||||
composite -compose Multiply ~/.zen/tmp/mixed_bob_from_ipfs.png \
|
||||
~/.zen/game/players/${PLAYER}/private_color.png \
|
||||
~/.zen/tmp/shared_secret.png
|
||||
|
||||
echo "Completed. You have a ~/.zen/tmp/shared_secret.png"
|
||||
xdg-open ~/.zen/tmp/shared_secret.png
|
Loading…
Reference in New Issue