taler
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Taler] Taler issue with Nix


From: Christian Grothoff
Subject: Re: [Taler] Taler issue with Nix
Date: Tue, 10 Sep 2024 19:52:00 +0200
User-agent: Mozilla Thunderbird

Dear Fedi,

Pardon me for not having looked at your configurations, but I have one nagging suspicion: did you add the exchange to the merchant configuration as a trusted exchange?

For example, by default we include a configuration file 'kudos.conf':

$ cat kudos.conf
# Trust Taler project for "KUDOS" currency so that demos work out-of-the-box
[merchant-exchange-kudos]
EXCHANGE_BASE_URL = https://exchange.demo.taler.net/
MASTER_KEY = "F80MFRG8HVH6R9CQ47KRFQSJP3T6DBJ4K1D9B703RJY3Z39TBMJ0"
CURRENCY = KUDOS

which enables that specific exchange with that specific master public key to the list of exchanges this merchant will accept funds from. If you did not add the exchange you set up locally, well, then the merchant will tell the wallets that it doesn't trust that exchange, and then wallets will not consider that exchange when trying to pay the merchant --- and IIRC you should see basically that exact error message.

Anyway, if that is _not_ the case, we'll need to dig a bit deeper, but this seems the most likely explanation. Note that I'm not exactly sure that this is something Nix packages _should_ configure automatically, as which exchanges one does business with _beyond_ those that are shipped with the packages is intended to be a manual decision by each merchant. So this could well be a case of "need to improve documentation" and not "need to fix packaging" ;-).

Happy hacking!

Christian

On 9/10/24 6:14 PM, Fedi Jamoussi via Taler wrote:
Dear GNU Taler developers,

My name is Fedi Jamoussi (@eljamm <https://github.com/eljamm>) and I'm a Summer of Nix <https://github.com/ngi-nix/summer-of-nix> 2024 participant working with (@Atemu <https://github.com/Atemu>) on packaging Taler with Nix. Everything has been progressing smoothly since starting this endeavor, but we've recently run into a bit of a roadblock and we're hoping you can help us solve it.

So far, the core Taler components have already been packaged successfully in nixpkgs and have been recently updated to version 0.13 <https://github.com/NixOS/nixpkgs/pull/338184>. Currently, we are working on a NixOS module <https://github.com/NixOS/nixpkgs/pull/332699> which will make setting up these components much easier and which already supports configuring the exchange, libeufin-{bank,nexus} and the merchant.

To showcase the capabilities of the module and provide an example of how it's configured, we've also made a NixOS test <https://github.com/NixOS/nixpkgs/blob/5a2a5aa3d700f795daa77d69451f06d4e4917a7c/nixos/tests/taler/basic.nix> where each component runs separately in a VM to simulate a real-world scenario in which multi-machine interactions are happening.

In this test, we're registering the services' accounts and instances, making a currency withdrawal to the CLI wallet and then using those coins to pay for a merchant's order.

The issue here is that the wallet is unable to pay for the order and instead prints an /"insufficient balance"/ message, even though the funds have been successfully withdrawn and are available. However, this doesn't happen when using the online bank <https://bank.demo.taler.net> and exchange <https://exchange.demo.taler.net> demos with the same wallet and merchant.

As such, this leads me to believe that something is wrong or missing in the configuration of these two components or in how they're handling the transaction. There might also have been a step that we missed to make the wallet's funds spendable.

In this regard, I hope the attached document <https://drive.proton.me/urls/2C675D921C#Wdi92BXuXZGB>, which contains the logs and configs, will help shed some light on the issue at hand and if you need any further information, I'll be happy to provide it.

That said, I'm unfortunately nearing the limit of hours I have left in the SoN program, but I'd really like to solve this issue and have a fully-working basic example by that time. If we can accomplish this, then perhaps the NixOS module can accompany Taler's launch as an easy way to configure and test the program.

Thank you for the amazing work that you're doing. We're looking forward to your support.

--
Best Regards,
Fedi Jamoussi



reply via email to

[Prev in Thread] Current Thread [Next in Thread]