[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