J’ai ajouté au prototype de GVA une requête permettant de générer un document transaction, je viens de la testée en envoyant @PiNguyen Ğ1 à @vit, et ça a fonctionné
- indiquez le montant, l’émetteur et le destinataire :
-
Signez le document fourni
-
Envoyez le document signé via une mutation :
la procédure est ici simplifiée au maximum, il est impossible de faire plus simple, car la signature du document ne peut pas être faite coté serveur (pour des raisons évidentes de sécurité).
La sélection des sources coté serveur me semble avoir 3 gros avantages :
-
Les performances : le serveur peut itérer directement sur les sources avec un cursor en base de donnée afin d’arrêter la lecture dès que le montant demandé est atteint. L’envoi d’une transaction sera donc bien plus rapide qu’actuellement car actuellement c’est le client qui télécharge et indexe toutes les sources du compte.
-
Évite la double dépense en cas d’utilisations de plusieurs clients différents: en effet le serveur peut exclure directement les sources qui se trouvent déjà dans sa mempool. En cas d’utilisation de plusieurs nœuds différents, cet avantage est a modéré en fonction de la synchro des mempool, mais si le même nœud est utilisé entre différents clients (cesium et silkaj par exemple), cela fonctionnera parfaitement.
-
Simplifie le développement des services tiers ayant besoin de générer des paiements
Notez que le prototype actuel à plusieurs limitations qui seront évidemment résolues à terme :
- pas encore de vérification des sources déjà en mempool implémenté
- transactions de changes pas encore gérées
- Algo naïf, il faut que les 20 premiers DU + 20 premières UTXOs suffissent.
Mais ça marche déjà parfaitement bien pour des petits montant
Le paiement simplifié de GVA fonctionne désormais pour tout montant (sous réserve d’avoir le solde nécessaire bien entendu).