taler-docs

Documentation for GNU Taler components, APIs and protocols
Log | Files | Refs | README | LICENSE

commit f2a31ef406c9e78552528b71488a5d902e7b8eee
parent 0c76482eb547ed3fb5bb7443833a4c48ca221597
Author: Martin Schanzenbach <schanzen@gnunet.org>
Date:   Tue,  7 Oct 2025 11:21:46 +0200

dd taldir alias registration

Diffstat:
Mcore/api-taldir.rst | 2+-
Mdesign-documents/070-alias-directory-mailbox.rst | 63+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 64 insertions(+), 1 deletion(-)

diff --git a/core/api-taldir.rst b/core/api-taldir.rst @@ -30,7 +30,7 @@ address in a messaging service. Examples for messaging services include E-mail and SMS. The service in principle allows registration of any valid URI as inbox service. -For Taler, the URI is a link a :ref:`mailbox <api-mailbox>`. +For Taler, the URI is a link to a :ref:`mailbox <api-mailbox>`. The API specified here follows the :ref:`general conventions <http-common>` for all details not specified in the individual requests. diff --git a/design-documents/070-alias-directory-mailbox.rst b/design-documents/070-alias-directory-mailbox.rst @@ -71,6 +71,69 @@ The service must be suitable to be operated at very high availability constraint As such, the service must be scalable and ideally have a small footprint and computing base. +User Stories +============ + + +US-1: Alias registration +------------------------ + +Prerequisites: Alice has installed Taler Wallet + +In the Taler Wallet, Alice is provided with an option +to register one or more Aliases with her Wallet Address. +This requires a Wallet interface element that is probably found somewhere in +the settings or hidden in a menu. +More specifically, Alice will be able to register an Alias with +the Mailbox URI that corresponds to his Wallet ID (See also :ref:`Mailbox API <api-mailbox>`). +The interface does not require Alice to input the URI manually, the +Wallet can synthesize the Mailbox URI. +Both the Mailbox server URI and the Taldir server URI have hard-coded defaults +that can be overriden in expert settings. +The interface offers registration of Aliases supported by the Taldir instance. +Alice chooses an Alias and is then prompted to provide her handle, e.g. `alice@example.com`. +This initiates the Alias validation procedure (See also :ref:`Taldir API <api-taldir>`). +The registration procedure may succeed or fail. +Alice may retry on failure to register the same Alias. +Alice may also register other Aliases. + +US-2: Send Payment Request +-------------------------- + +Prerequisites: Bob has installed Taler Wallet + +Bob wants to request money from Alice. +He opens his Taler wallet and opens the `Send to Friend` screen from the menu. +The screen consists of a search input and an Alias type selector. +Bob selects the Alias type (e.g. GitHub or Email) and inputs Alice's Alias. +If not found, Bob canno use this feature. +If found, Bob will be able to proceed to create a payment request. +A screen that allows to create a payment request is shown to Bob. +Once Bob has input all necessary details, the payment request is sent to +Alice's Mailbox URI. +This request may fail if Alice's Mailbox is full (See also :ref:`Mailbox API <api-mailbox>`). + + +Note: It makes sense to use something like HPKE to encrypt the payment request +to Alice's Wallet Public Key. + +US-3: Receive Payment Request +----------------------------- + +Prerequisites: Alice has installed Taler Wallet, Alice has registered an Alias. + +Alice's Wallet periodically checks her Mailbox (:ref:`Mailbox API <api-mailbox>`) +for new payment requests. +If a new payment request is found the Wallet should notify Alice. +The wallet provides a screen with payment request overviews (list of messages +in the mailbox). +Alice selects Bob's payment request either through the notification or from the list +of payment requests. +Alice creates a P2P payment based on the metadata in the payment request. +Upon completion of the payment, the request is deleted from the Mailbox. +She may also decline to pay and delete the payment request. + + Proposed Solution =================