diff options
Diffstat (limited to 'libeufin/bank-manual.rst')
-rw-r--r-- | libeufin/bank-manual.rst | 116 |
1 files changed, 116 insertions, 0 deletions
diff --git a/libeufin/bank-manual.rst b/libeufin/bank-manual.rst new file mode 100644 index 00000000..40e047db --- /dev/null +++ b/libeufin/bank-manual.rst @@ -0,0 +1,116 @@ +.. target audience: operator, developer + +Bank Manual +########### + +.. contents:: Table of Contents + +LibEuFin Bank implements a simple core banking system with +account and REST APIs, including REST APIs for a Web interface +and REST APIs to interact with GNU Taler components. + +In this manual, we explain how to setup a bank. + +Installing Bank +=============== + +The following section was tested on an *OpenJDK 17* environment. + +Building from source +-------------------- + +Bank belongs to the LibEuFin project, and can be downloaded via Git: + +.. code-block:: console + + $ git clone git://git.taler.net/libeufin + +Note that Kotlin and Gradle should already work on the host system. + +Navigate into the *libeufin* local repository, and from top-level run: + +.. code-block:: console + + $ ./bootstrap + $ ./configure --prefix=$PREFIX + $ make install-bank + +If the previous steps succeeded, the ``libeufin-bank`` command should +be found in the $PATH. + +Setting up the LibEuFin Bank +============================ + +The following snippet shows the mandatory configuration values. + +.. code-block:: console + + [libeufin-bank] + CURRENCY = KUDOS + + # Debt limit + DEFAULT_CUSTOMER_DEBT_LIMIT = KUDOS:0 + DEFAULT_ADMIN_DEBT_LIMIT = KUDOS:200000000 + + # Server + SERVE = tcp + PORT = 8080 + + [libeufin-bankdb-postgres] + CONFIG = postgresql:///libeufinbank + +.. note:: + Refer to the manpage ``libeufin-man.conf(5)`` + for the full array of configuration values. + +Assuming that the configuration file exists at ``$config_file``, the following +command would define the database schema and create an admin account. + +.. code-block:: console + + libeufin-bank dbinit -c $config_file + +If you wish to authenticate as admin, you must change the account password. + +.. code-block:: console + + libeufin-bank passwd -c $config_file admin $PASSWORD + +Then you can start the HTTP server. + +.. code-block:: console + + libeufin-bank serve -c $config_file + +Enable regional currency conversion +=================================== + +.. note:: + You need to have LibEuFin Nexus running to enable conversion. + Refers to ``nexus-manual.conf`` for more details. + +First you have to create an exchange account with username ``exchange``. + +TODO + +Then you have to enable conversion in configuration and enable at least one TAN channel for cashout. + +.. code-block:: console + + [libeufin-bank] + ALLOW_CONVERSION = yes + + TAN_SMS = libeufin-tan-sms.sh + # And/Or + TAN_EMAIL = libeufin-tan-email.sh + +Assuming that the configuration file exists at ``$config_file``, the following +command would start the server with conversion API enabled. + +.. code-block:: console + + libeufin-bank serve -c $config_file + +Finally you have to setup conversion rates though the SPA. + +TODO
\ No newline at end of file |