summaryrefslogtreecommitdiff
path: root/frags/regional-manual-architecture.rst
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2024-03-20 14:32:20 +0100
committerChristian Grothoff <christian@grothoff.org>2024-03-20 14:32:20 +0100
commitef283376590c382c5c46d9b9d551b085b14fdb4f (patch)
tree138e0aa45fb34c320283b26efaa0137b37aaa3ec /frags/regional-manual-architecture.rst
parentdef59c1ee59268688fd2a9a01691d0a9bf26c671 (diff)
parentf6dfc9b3218e582511f6352180d0af86deac25ae (diff)
downloaddocs-ef283376590c382c5c46d9b9d551b085b14fdb4f.tar.gz
docs-ef283376590c382c5c46d9b9d551b085b14fdb4f.tar.bz2
docs-ef283376590c382c5c46d9b9d551b085b14fdb4f.zip
Merge branch 'master' of git+ssh://git.taler.net/docs
Diffstat (limited to 'frags/regional-manual-architecture.rst')
-rw-r--r--frags/regional-manual-architecture.rst48
1 files changed, 48 insertions, 0 deletions
diff --git a/frags/regional-manual-architecture.rst b/frags/regional-manual-architecture.rst
new file mode 100644
index 00000000..cfb8aacd
--- /dev/null
+++ b/frags/regional-manual-architecture.rst
@@ -0,0 +1,48 @@
+Architecture
+============
+
+There are several key components needed to operate a regional currency based
+on GNU Taler and LibEuFin technology:
+
+- LibEuFin Nexus: is responsible to drive the master (fiat) bank account both to learn
+ about incoming payments and to send fiat cash-out payments
+- LibEuFin Bank: offers basic banking operations, e.g. wire transfers, Taler withdrawals,
+ account management, cash-out's
+- Taler exchange: server side of Taler operations.
+- Taler wallet: client side of Taler operations.
+- Taler merchant backend: abstracts Taler details to the shops.
+
+.. image:: ../images/regional-arch.png
+
+In this model, the regional currency is backed by the fiat currency and users
+are offered two operations: *cash-in* to create regional currency starting
+from fiat money, and *cash-out* to convert regional currency into fiat
+currency.
+
+The design assumes that one single unit of regional currency is always backed
+by one single unit of fiat currency.
+
+
+Cash-in
++++++++
+
+One fundamental entity to create the regional currency is the *master bank account*.
+The master bank account is hosted at one fiat bank and whenever it receives a *valid*
+fiat payment of N units, it triggers the creation of N units of regional currency.
+Such trigger causes the *admin bank account* at the regional bank to wire the N units of
+regional currency to the Taler exchange (regional) bank account. At this point, the
+Taler exchange is ready to issue the regional coins to the Taler wallet that proves
+to own them.
+
+.. note::
+
+ *Valid* fiat payments are those with a Taler-relevant subject that should be generated by a Taler wallet.
+
+
+Cash-out
+++++++++
+
+Once a regional bank user confirms a cash-out operation of N units, the system sends
+a regional payment of N units to the *admin bank account*. This latter triggers then
+a fiat payment of N units to the fiat bank account owned by the user who initiated the
+cash-out. \ No newline at end of file