summaryrefslogtreecommitdiff
path: root/libeufin
diff options
context:
space:
mode:
authorMS <ms@taler.net>2023-12-11 19:31:33 +0100
committerMS <ms@taler.net>2023-12-11 19:31:49 +0100
commitddece22779b216a2f793fba02b33a26d0a528bf0 (patch)
tree21e4fa1871ddb0b67d8baf012adbbecd9bbac676 /libeufin
parent866636826187d5fb02ba96a2ed534ae14857a0e1 (diff)
downloaddocs-ddece22779b216a2f793fba02b33a26d0a528bf0.tar.gz
docs-ddece22779b216a2f793fba02b33a26d0a528bf0.tar.bz2
docs-ddece22779b216a2f793fba02b33a26d0a528bf0.zip
reset state note
Diffstat (limited to 'libeufin')
-rw-r--r--libeufin/#regional-manual.rst#246
-rw-r--r--libeufin/regional-manual.rst7
2 files changed, 4 insertions, 249 deletions
diff --git a/libeufin/#regional-manual.rst# b/libeufin/#regional-manual.rst#
deleted file mode 100644
index 345c4403..00000000
--- a/libeufin/#regional-manual.rst#
+++ /dev/null
@@ -1,246 +0,0 @@
-.. target audience: operator
-
-Regional Currency Setup Manual
-##############################
-
-.. contents:: Table of Contents
-
-GNU Taler can be used to operate a regional currency. For this, LibEuFin Bank
-is setup to operate bank accounts in the regional currency that ultimately
-interact with the GNU Taler exchange. Optionally, LibEuFin Nexus be used to
-integrate with the traditional core banking system, and then the LibEuFin
-Conversion triggers help convert fiat currency to regional currency and vice
-versa. Conversion rates and limits can be applied when converting between
-the regional currency and the fiat currency.
-
-
-In this manual, we explain how to setup such a regional currency.
-
-
-Guided basic setup
-==================
-
-Prerequisites
--------------
-
-For this manual, we assume that the system is deployed on a contemporary
-Debian GNU/Linux or Ubuntu LTS system using the binary packages provided.
-Furthermore, you should run the process on a system with one or more globally
-reachable IP address(es) *and* with various DNS names already pointing to
-these IPs.
-
-To further simplify the process, we suggest to use (or at least study) the
-automatic deployment scripts provided in the ``deployment.git`` Git repository
-in the ``netzbon/`` folder.
-
-
-Obtaining the scripts
----------------------
-
-First, download the deployment scripts via Git:
-
-.. code-block:: console
-
- $ git clone git://git.taler.net/deployment
-
-Guided Configuration
---------------------
-
-Navigate into the *netzbon/* directory, and as **root** run:
-
-.. code-block:: console
-
- # ./main.sh
-
-The script will start by asking you fundamental questions about the
-desired setup, in particular:
-
- * The name of the regional currency. It must have 3 to 11 letters.
- * The name of the regional currency bank. It will be shown to business
- users when they interact with the system.
- * Whether to use TLS. You should answer ``y`` in most cases.
- * Whether to run taler-exchange-offline. Unless you need a high-security
- setup and expect to run an offline key management process, say ``y``.
- If you say ``n``, you will need to run ``taler-exchange-offline setup``
- on your offline system and provide the master public key. Furthermore,
- you should then study the exchange manual on
- offline key management to finish the exchange setup process later.
- * The admin password for the bank. Be absolutely sure to enter a very,
- very long and high-entropy password, preferably generated by a tool
- like "uuidgen".
- * The DNS domain name of your setup (i.e: domain.tld). The installer will
- create by itself all the needed subdomains for your domain name,
- as (``bank.$DOMAIN``, ``exchange.$DOMAIN`` and ``backend.$DOMAIN``). But these
- subdomain names, must have been added before to your DNS domain control panel , and furthermore, they must be pointing to the IP address of your server of the system on which you are running the installation (before you execute the installer)).
-
-The information you entered will be stored in a file called
-``config/user.conf``. Should you run the script in the future (for
-example, to upgrade the installation), you will not be asked these
-questions a second time.
-
-After answering all of the questions, the actual installation will
-start. The scripts will download and configure various packages,
-which may take some time. Grab a coffee.
-
-Connecting to a Fiat Bank
-=========================
-
-Some regional currencies are backed by assets in a fiat currency
-and allow users to convert fiat currency into the regional
-currency (``cash in``) and to convert regional currency into
-fiat currency (``cash out``). Restrictions, exchange rates and
-fees may apply to these conversions. This section explains how
-to setup LibEuFin Nexus to communicate with the fiat bank account
-that backs the regional currency.
-
-Prerequisites
--------------
-
-You must have a bank account at a bank dealing in fiat currency that offers an
-online banking protocol supported by LibEuFin Nexus. As legacy transactions
-in that bank account would likely confuse the system, it is highly advised to
-use a fresh account with an empty transaction history.
-
-Today, the LibEuFin implementation supports EBICS 2.5 and 3.0 and has been
-tested with the GLS Bank (EUR) and the Postfinance (CHF). Please note that
-banks tend to have their own dialects of finance messages and thus other
-retail banks may or may not work. Contact us, if you need support for another
-bank or core banking protocol.
-
-EBICS setup
------------
-
-Follow the instructions from
-:ref:`EBICS subscriber setup <ebics-setup>` to
-configure the LibEuFin Nexus for access to your
-fiat bank account.
-
-Once you have accepted the bank keys, you should
-setup currency conversion before actually starting
-to import transactions.
-
-
-
-Enable regional currency conversion
-===================================
-
-Prerequisites
--------------
-
-This step assumes that you already have a working regional currency bank
-and have successfully connected to a backing fiat bank account.
-
-Additionally, for each account that is allowed to convert regional currency
-into fiat, you must configure the (fiat) bank account number of the fiat
-currency with the respective account profile. Only the bank ``admin`` is
-allowed to set fiat bank account numbers.
-
-Furthermore, to achieve a reasonable security level, you must enable two
-factor authentication for "cash out" transactions. This requires you to
-configure an e-mail address or phone number for every account that supports
-"cash out" transactions --- and to setup your system for sending e-mails or
-SMS. This manual does not cover setting up e-mail. For SMS delivery, you will
-need to obtain credentials from an SMS provider and provide a script to send
-messages via such a provider.
-
-Configuration
--------------
-
-You have to enable conversion and at least one TAN channel for cashout in the
-``/etc/libeufin/libeufin-bank.conf`` configuration file:
-
-.. code-block:: console
-
- [libeufin-bank]
- ALLOW_CONVERSION = yes
-
- TAN_SMS = libeufin-tan-sms.sh
- # And/Or
- TAN_EMAIL = libeufin-tan-email.sh
-
-Afterwards, restart the bank:
-
-.. code-block:: console
-
- # systemctl restart libeufin-bank
-
-
-Web-based Configuration
------------------------
-
-Now you should be able to setup conversion rates though the Web
-interface of the bank as the ``admin`` user.
-
-
-Conversion ON!
---------------
-
-The last step is to enable the Nexus services to import incoming bank
-transactions (cash in) and to trigger outgoing bank transactions (cash out):
-
-.. code-block:: console
-
- # systemd enable --now libeufin-nexus-ebics-fetch
- # systemd enable --now libeufin-nexus-ebics-submit
-
-
-Going live!
-===========
-
-Exchange setup
---------------
-
-First, you need to use the ``taler-exchange-offline`` tool to inform the
-exchange about the fiat bank account that can be used for cash in operations
-and also specify the URL for currency conversion. Additionally, you may also
-configure restrictions on the bank accounts that may originate the funds, for
-example to prevent international wire transfers that may expose you to
-additional compliance risks.
-
-Given the ``$IBAN`` of the fiat currency bank account and ``$NAME`` as
-the (URL-encoded) name of the exchange-account owner, the following
-``taler-exchange-offline`` invocation can be used to notify wallets about
-the possibility of currency conversion (cash in):
-
-.. code-block:: console
-
- # taler-exchange-offline \
- enable-account \
- payto://iban/$IBAN?receiver-name=$NAME \
- conversion-url "$CONVERSION_URL" \
- upload
-
-Here, the ``$CONVERSION_URL`` must be set to the base URL of the conversion
-endpoint of the bank, which should be ``https://bank.$DOMAIN/conversion-info/``
-in our setup.
-
-
-Wallet setup
-------------
-
-Next, you need to add your regional currency exchange to the wallet. This can
-be done by scanning a QR code with a ``taler://add-exchange/exchange.$DOMAIN``
-URL or by manually entering the URL into the respective ``Add exchange``
-dialogue.
-
-With this, you should then be able to ``add`` funds in the regional currency
-to your exchange by starting the withdraw process in the wallet. After
-specifying the desired amount, the wallet should show you the details of the
-fiat wire transfer that must be made for the cash in to be completed. Once the
-money has arrived at the fiat bank account, Nexus will obtain the transaction
-data and the regional currency bank will create the corresponding amount in
-regional currency, crediting the GNU Taler exchange account. In turn, the
-exchange will issue the respective amount to your wallet.
-
-For testing, you should be able to *deposit* regional currency directly
-into a LibEuFin Bank account from the Taler wallet. Once the exchange
-has credited the reginal currency account, log into the bank account
-using the Web interface. Assuming the cash out rules are satisfied, you
-should then be able to start a cash out operation. This will trigger a
-transfer from your regional currency account to the regional currency
-master ``bank`` account which will effectively destroy the respective
-amount of regional currency. The conversion triggers will inform Nexus
-about the destruction and Nexus will then wire the corresponding amount
-in fiat to the associated fiat bank account.
-
-
diff --git a/libeufin/regional-manual.rst b/libeufin/regional-manual.rst
index 07804108..d93ff9da 100644
--- a/libeufin/regional-manual.rst
+++ b/libeufin/regional-manual.rst
@@ -206,9 +206,10 @@ If so, call the wallet in the following way to finally pay for the order just cr
.. note::
- Delete the database records before going to production, as they alter the way
- nexus-fetch asks records to the bank.
-
+ Reset the state before going to production, as it impacts the way nexus
+ asks records to the bank. In particular, delete: any database and the
+ files ``config/user.conf`` and ``config/internal.conf``, and finally run
+ ``./main.sh`` again.
..
FIXME: uncomment once tested.