Coin selection - info

Hi all!

I’m looking into GNU Taler these days and I’m willing to understand a bit more the nuances and details of its functioning. Specifically I would like to understand how the “token selection” algorithm works at the client level. Can someone point me to some materials/code useful in that regards?

Thanks a lot!

1 Like

Hi @01wos ,

if you mean coin selection in the wallet (i. e. which available coins should be used by a wallet for a purchase), there is a) section 4.6.2 Coin selection of Florian Dold’s PhD thesis (https://taler.net/papers/thesis-dold-phd-2019.pdf#subsection.4.6.2) and b) the implementation in wallet-core (coinSelection.ts « src « taler-wallet-core « packages - wallet-core.git - GNU Taler wallet core).

There is also the concept of STEFAN curve that should simplify fee calculation (and therefore coin selection, too) and is specified in design document 47 (13.47. DD 47: STEFAN — GNU Taler). AFAIK it is not yet implemented in wallet-core.

Cheers,
Özgür

2 Likes

As an update too my previous answer:

If you are going to implement your own wallet, the coin selection algorithm really is up to you.

1 Like

Hi @oec

thanks for the answer and for the references. I have definitely something to work on now.

Cheers,
01wos

2 Likes