G1-compagnon

Extension web pour la Ğ1

Dev :

Dépôt :

Version :
0.0.1

Specs :
à définir

Roadmap :
à définir…

5 Likes

Salut à tous !

On avait l’idée de faire une extension web avec @poka, puis j’ai été relancé par @Katy et @ji_emme avec qui on a fait une visio il y a une dizaine de jours.

Je viens de mettre en ligne ce que j’ai fait pour le moment sur ce dépôt : Emmanuel Salomon / g1-compagnon · GitLab

L’extension web déchiffre et stocke les wallets dans le memory local extension. Je me connecte au même web socket que Césium et j’affiche un badge à la réception d’un message. Et sur n’importe quel site, quand on sélectionne une pubkey, ça va chercher les infos sur duniter et le forum si il y a le pseudo.
Un petit gif :

g1-companion

J’avais commencé il y a longtemps à faire des essais avec Quasar (vuejs) et Svelte. Mais rien de concluant. Puis j’ai trouvé vitesse-webext. C’est du Vue mais avec le bundler Vite, hyper rapide. @antfu le gars qui développe est un dev halucinant. Il y a des outils vraiment bien, c’est en typescript, et surtout un webext-bridge qui permet de faire passer des données simplement (sans mettre des listeners partout) entre la page option, la popup, le background et le contentScript. (oui, une extension web met du code un peu partout !)

Voilà, il n’y a pas de roadmap pour l’instant. C’est à l’état de POC. L’idée est de mettre en place en premier lieu un moyen de paiement simple pour n’importe quel site :
le contentScript lit la page à la recherche de quelque chose comme un <button pubkey="XXX" amount="10G1"> et ouvre la popup pour confirmer le paiement. N’importe quel administrateur de site n’aurait qu’à mettre ce bouton sur son site, un simple élément HTML. Ensuite, on pourrait injecter du code javascript pour donner au site plus d’infos du style :

g1.isConnected()
g1.isCertified()
g1.on('connect', () => ...)
...

D’où ma question dans la visio des devs de ce soir de savoir si il vaut mieux s’inspirer de l’api de metamask, polkadot ou squid ?

Une extension web pourrait faire plein de chose, comme fournir un moyen d’authentification pour les sites. Plus besoin de login à fournir ! J’ai plein d’autres idées. Je suis sûr que vous en avez plein vous aussi !

8 Likes

Je dirai que le mieux c’est de t’inspirer de l’API de l’extension polkadot.js :slight_smile:

2 Likes

Bonjour,
est-ce que l’on pourra connecter g1compagnon à n’importe quel type de site et est-ce qu’il sera possible de s’en servir comme « bouton de paiement » sur les sites marchands en Ğ1 ?
Actuellement est-ce compatible avec la version actuelle de Duniter et y a t-il un intérêt d’essayer de l’utiliser avec la version actuelle de Duniter ?
Amicalement. :slight_smile:

C’est le but de l’extension ! N’importe quel site pourra ajouter un simple <button> en html et g1compagnon s’occupera d’activer le bouton et initier une transaction.

Pour l’instant l’extension ne fait pas grand chose, mais ce sera compatible avec la version de Duniter actuelle au moins pour faire une transaction. Je ne sais pas encore pour d’autre type d’actions avec Duniter…

2 Likes

Merci pour le retour, hâte que cela soit fonctionnel ! :slight_smile:

Est-ce que tu pourrais nous faire un petit état sur l’avancement de G1-compagnon ? J’aimerais le mettre sur la page logiciels de duniter.fr en tant que logiciel « en développement », mais j’aimerais pouvoir donner un lien qui résume le projet.

Je dois avancer dessus depuis 15 j :confused: J’ai eu des contre-temps familiaux…

Pour l’instant :
La partie popup permet de rentrer son compte principal et ses portefeuilles.
@Katy et @ji_emme ont fait la partie paiement et sa fonctionne !
Il faut que je clean leur code et je fasse l’api qui sera injecté dans les sites pour permettre de faire des boutons de paiement…
Pour ça, je vais faire un petit site web qui explique le fonctionnement.
Je vais pouvoir m’y remettre cette semaine !

8 Likes

N’hésites pas à demander de l’aide :wink:

May I move the repository in the client group? So, it’s easier to find it.

Can you check and complete the information in the comparison table?

1 Like

What’s the actual name of the project?
g1-compagnon in English or g1-companion in French?
Or both? Depending on the language the browser is set.

@Moul Yes, move the repository. I’ll check the information.

compagnon is the french word. companion is in English.
I created this project in french because everybody talk about this idea in french since the beginning.
I don’t know which is better. Maybe we could ask the community?

Moved!

:white_check_mark: git remote set-url origin git@git.duniter.org:clients/g1-compagnon.git

1 Like

Perso je préfère g1-companion (en anglais) parce que je n’aime pas le “gn” en français :smiley:

1 Like

Un logo pour Ǧ1 compagnon ? @Attilax

Résumé : C’est une extension navigateur chargée de gérer les coffre Ǧ1v2. Elle expose une API à laquelle n’importe quel site web (airbnjune, gchange v2…) peut se connecter pour permettre à l’utilisateur de faire des opérations de base (virement, signature, chiffrement).

Pas trop besoin. Je le trouve pas mal mon logo :

Logo g1companion

Il passe bien en petit :

Logo g1companion

Je ne sais pas ce que vous en pensez…
Si vous trouvez un meilleur visuel, je suis preneur !

9 Likes

Il faut une mascotte (genre le Clippy :paperclip: de windows XP) avec cette tête !

Je vais voir cette semaine si je suis inspiré. Mais c’est vrai que celui de Manu est pas mal.

Je me suis inspiré de ça à la base !

image

Me tapez pas :slight_smile:

1 Like