regional-manual-architecture.rst (1948B)
1 Architecture 2 ============ 3 4 There are several key components needed to operate a regional currency based 5 on GNU Taler and LibEuFin technology: 6 7 - LibEuFin Nexus: is responsible to drive the master (fiat) bank account both to learn 8 about incoming payments and to send fiat cash-out payments 9 - LibEuFin Bank: offers basic banking operations, e.g. wire transfers, Taler withdrawals, 10 account management, cash-out's 11 - Taler exchange: server side of Taler operations. 12 - Taler wallet: client side of Taler operations. 13 - Taler merchant backend: abstracts Taler details to the shops. 14 15 .. image:: ../images/regional-currency-architecture-diagram.png 16 17 In this model, the regional currency is backed by the fiat currency and users 18 are offered two operations: *cash-in* to create regional currency starting 19 from fiat money, and *cash-out* to convert regional currency into fiat 20 currency. 21 22 The design assumes that one single unit of regional currency is always backed 23 by one single unit of fiat currency. 24 25 26 Cash-in 27 +++++++ 28 29 One fundamental entity to create the regional currency is the *master bank account*. 30 The master bank account is hosted at one fiat bank and whenever it receives a *valid* 31 fiat payment of N units, it triggers the creation of N units of regional currency. 32 Such trigger causes the *admin bank account* at the regional bank to wire the N units of 33 regional currency to the Taler exchange (regional) bank account. At this point, the 34 Taler exchange is ready to issue the regional coins to the Taler wallet that proves 35 to own them. 36 37 .. note:: 38 39 *Valid* fiat payments are those with a Taler-relevant subject that should be generated by a Taler wallet. 40 41 42 Cash-out 43 ++++++++ 44 45 Once a regional bank user confirms a cash-out operation of N units, the system sends 46 a regional payment of N units to the *admin bank account*. This latter triggers then 47 a fiat payment of N units to the fiat bank account owned by the user who initiated the 48 cash-out.