color based common crypto land

This commit is contained in:
fred 2023-12-18 16:23:18 +01:00
parent d4ddfd15d3
commit 3af864f5de
2 changed files with 85 additions and 0 deletions

View File

@ -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

68
tools/diffie_hellman_colors.sh Executable file
View File

@ -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