Class PoWPaymentStrategy

java.lang.Object
fr.univ_eiffel.legotools.factory.impl.PoWPaymentStrategy
All Implemented Interfaces:
PaymentStrategy

public class PoWPaymentStrategy extends Object implements PaymentStrategy
Implémentation de la stratégie de paiement par "Minage" (Proof-of-Work).

Cette classe réalise l'échange de temps de calcul contre des crédits : tant que le solde est insuffisant, elle demande des problèmes mathématiques complexes au serveur et les résout.

  • Constructor Details

    • PoWPaymentStrategy

      public PoWPaymentStrategy()
      Constructeur par défaut.
  • Method Details

    • pay

      public void pay(long amountNeeded, long currentBalance, ApiSender api) throws IOException
      Exécute le paiement. Si le solde est insuffisant, déclenche le minage.
      Specified by:
      pay in interface PaymentStrategy
      Parameters:
      amountNeeded - Montant nécessaire pour la transaction.
      currentBalance - Solde actuel du compte.
      api - Interface permettant de rappeler les méthodes de rechargement.
      Throws:
      IOException - En cas d'erreur de communication avec l'API.