Ğ1Cotis

Ğ1Cotis est un système de cotisations volontaires en monnaie libre.

Lors de vos transactions, donnez une adresse publique intermédiaire. Chaque jour, le script Ğ1Cotis va : Ğ1Cotis gère aussi des virements automatiques de montant fixe, envoyés à intervalle régulier.

Ğ1Cotis est un script bash, conçu pour être installé sur des systèmes de type GNU/Linux. Vous pouvez utiliser ce script pour votre usage personnel, ou proposer à d'autres personnes de gérer leurs cotisations par ce script. En effet, un même ordinateur peut servir pour plusieurs comptes.

A quoi ça sert ?

Ğ1Cotis permet de reverser un pourcentage de transaction(s) à un ou plusieurs comptes, paramétrables selon vos souhaits.

Mettons que, vendeur de kouign-amann, je souhaite contribuer au financement de la Ğ1. Je demande à mes client.e.s de payer sur un compte temporaire. Chaque jour, le service Ğ1Cotis va :

  • regarder s’il y a de la monnaie sur le compte temporaire. Si le montant est supérieur à 100Ğ1,
  • verser 5% de cette monnaie sur le compte de financement des développeurs
  • verser le reste de la monnaie sur mon compte.

OU bien :

Heureux co-créateur de monnaie libre Ğ1, je souhaite financer les noeuds par le don d’une partie de ma création monétaire. J’ai un compte “portefeuille” pour mes achats courants. Je choisis de faire mes transferts compte membre -> compte portefeuille par un compte “intermédiaire”, qui va reverser 5% de ma création monétaire au financement des noeuds, et 5% au financement de mon groupe local.

OU encore :

Martine et Martin fabriquent des chemises à motif. Martin les coud et Martine les vend. Ils se sont mis d’accord que les bénéfices de cette affaire leur sont répartis 50-50 à la fin du mois. Là encore, pas de souci ! Ğ1Cotis le fait tout seul !

Autre utilisation possible :

Camille veut envoyer chaque mois 50 Ğ1 à une association scoute. Iel met en place un compte Ğ1Cotis de virement récurrent, le pré-remplit de 600 Ğ1 en début d'année, et n'a plus à y penser jusqu'à l'année prochaine.

Peut-on utiliser Ğ1Cotis avec un compte membre ?

Vous souhaitez affecter une part de votre création monétaire à certains projets ? C'est très louable !

Si vous faites fonctionner votre propre instance de Ğ1Cotis, il n'y a pas de contre-indication. Assurez-vous simplement que l'accès à votre clef privée est bien sécurisé. Pensez également à adapter la périodicité des cotisations (par exemple, la choisir à un mois) pour éviter de surcharger le réseau Duniter.

Cependant, Confier vos identifiants membres à un prestataire, même de confiance, est contraire à la licence et dangereux pour le réseau Duniter. Si vous ne faites pas fonctionner Ğ1Cotis vous-même, alors il ne faut pas l'utiliser sur votre compte membre. En revanche, vous pouvez l'utiliser comme un intermédiaire pour les versements entre votre compte membre et un compte portefeuille. A chaque virement vers votre compte portefeuille, vous enverriez 5% (par exemple) vers le compte de votre choix.

Où trouver un service Ğ1Cotis ?

J'en gère un, réservé aux personnes qui m'ont rencontré physiquement. Cependant, je ne veux pas prendre la responsabilité des transactions de personnes que je ne connais pas.

Ce script est relativement simple d'installation, si vous avez quelques connaissances en GNU/Linux, vous pouvez installer et proposer ce service autour de vous, ou demander à quelqu'un de s'en charger. On peut l'utiliser même sur un ordinateur qui n'est pas allumé tout le temps !

Si vous décidez de proposer ce service, indiquez-le moi ! Je serai d'ailleurs heureux qu'il serve pour un usage commercial.

Comment l'installer et le configurer ?

Vous devez être sous un compte admin "sudo". Il vous faut tout d’abord installer les dépendances :

Silkaj : version spécifique à G1Cotis, en attendant la 0.8 officielle.
Diceware
bc
  • Installer Silkaj sous Debian Buster ou Ubuntu 19.X GNU/Linux:
    $ sudo apt update ; sudo apt upgrade ; sudo apt install diceware bc pipenv libsodium23
    $ wget https://git.duniter.org/matograine/silkaj/-/archive/g1cotis-multioutput/silkaj-g1cotis-multioutput.tar.gz
    $ tar -xf silkaj-g1cotis-multioutput.tar.gz
    $ cd silkaj-g1cotis-multioutput
    $ pipenv install "-e ."

  • Sous Debian Stretch : inspirez-vous de ce post pour pour installer Silkaj en pipenv. Utilisez cette version : https://git.duniter.org/matograine/silkaj/-/archive/g1cotis-multi output/silkaj-g1cotis-multioutput.tar.gz. Puis :
    $ sudo apt install diceware bc

  • Sous d’autres distributions : je ne sais pas, indiquez-moi comment vous faites ! Voici le site de Silkaj

Ensuite :

  • Placez-vous dans le /home de l’utilisateur qui va lancer Ğ1cotis, connecté comme cet utilisateur.
  • Télécharger la dernière version (v0.3.1) en .tar.gz :
    $ wget https://git.duniter.org/matograine/g1-cotis/-/archive/0.3.1/g1-cotis-0.3.1.tar.gz
  • La déziper où vous le souhaitez :
    $ tar -xf g1-cotis-0.3.1.tar.gz
  • Renommer (si vous le souhaitez) :
    $ mv g1-cotis-0.3.1 G1cotis
  • Rendez ce dossier inaccessible pour les autres utilisateurs :
    $ sudo chmod 700 G1cotis
  • Vous placer dans le dossier :
    $ cd G1cotis
  • Editer le fichier config.sh en fonction des paramètres locaux (dossier, noeud, monnaie, dossier silkaj-g1cotis-multioutput) :
    $ nano config.sh
  • Créer le premier compte :
    $ bash nouveau-compte.sh
  • Modifiez le crontab en suivant les recommandations du script :
    $ crontab -e
Voilà, votre instance Ğ1Cotis est prête à accueillir des comptes, vous pouvez le proposer aux ami.e.s !

Des questions vous seront posées à l'éxécution de bash nouveau-compte.sh, il vous suffit d'y répondre.

Attention : Ğ1Cotis ne gère pas des noms de compte comprenant une espace. Julie Martin ne fonctionnera pas, mais JulieMartin ou Julie-Martin oui.

Si vous créez un compte, des identifiants vous seront proposés. Utilisez-les (copier-coller) tout de suite après, lorsque Silkaj vous les demandera. Rien ne sera affiché. Conservez-les précieusement, par exemple dans un gestionnaire de mots de passe.

Sur un ordinateur personnel

Ğ1Cotis est plutôt conçu pour fonctionner sur serveur. Cependant, vous pouvez utiliser la fonctionnalité "cotisation" en l'installant sur un PC simple, en choisissant la fréquence reboot

Comment le configurer pour des versements récurrents ?

Choisissez tout simplement "virement récurrent" (2) à la création du compte, puis répondez aux questions du script.

ATTENTION : cette fonctionnalité n'est disponible que pour des serveurs, connectés H24.

Comment le configurer pour des cotisations ?

Choisissez tout simplement "cotisations" (1) à la création du compte, puis répondez aux questions du script.

Cette fonctionnalité est aussi disponible pour des ordinateurs qui ne sont pas allumés H24. Pour cela, choisissez la fréquence "au reboot".

Comment le configurer pour héberger ce service ?

La configuration pour plusieurs comptes est identique à celle pour un usage personnel. Exécutez simplement `bash nouveau-compte.sh` pour chaque nouveau compte créé.

Concernant la sécurité des identifiants, je vous conseille d'être un "tiers de confiance" et de ne pas donner les clefs privées des comptes de répartition à vos usager.e.s, pour éviter des conflits : s'il y a un problème sur ce compte, vous êtes seul.e responsable.

Ğ1Cotis va-t-il évoluer ?

J'envisage de créer un rappel par courriel pour les comptes de versement récurrent. Si vous voulez y contribuer, le git est .

Je n'ai pas les compétences pour ajouter une interface web, mais je pense que ce serait un ajout agréable pour qui veut être prestataire de ce service. Faites un fork !

Enfin, il est possible que je le réécrive Ğ1Cotis en Python, pour me familiariser avec Duniterpy et réduire le nombre de transaction (avoir une seule transaction en sortie).

Vous pouvez tester Ğ1Cotis en envoyant un don sur la clef 5QAE7UAruPcBL7LeWrrRMUBdw3nMSGcMHSUnq27VPUnK !

J'ai d'autres questions ?

Un sujet sur la Ğ1Cotis est ouvert sur le forum technique.
Licence

L'ensemble de la page g1pourboire.fr/g1cotis est publiée par Matograine sous licence cc-by-sa : vous pouvez diffuser, copier, modifier, en donnant l'auteur.ice initial.e, et sous des conditions de licence similaires.

Contribuer au développement de la Ğ1

Vous pouvez faire des dons sur une caisse de répartition des dons : bg3AoYQKeyzaJaQoXJQATehLCk5wRFnYEvdRyjgg9LT

Vous pouvez également faire des contributions en logiciel et en documentation. Pour cela, rendez-vous sur le forum général ou sur le forum technique