1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
|
Welcome to GNU Taler
What is Taler?
==============
Taler is an electronic payment system providing the ability to pay
anonymously using digital cash. Taler consists of a network protocol
definition (using a RESTful API over HTTP), a Exchange (which creates
digital coins), a Wallet (which allows customers to manage, store and
spend digital coins), and a Merchant website which allows customers to
spend their digital coins. Naturally, each Merchant is different, but
Taler includes code examples to help Merchants integrate Taler as a
payment system.
Taler is currently developed by a worldwide group of independent free software
developers and Taler Systems SA. Taler is free software and an official GNU
package (https://www.gnu.org/).
This is an alpha release with a few known bugs, lacking a few important
features, documentation, testing, performance tuning and an external security
audit. However, you can run the code and it largely works fine. This package
also only includes the Taler exchange, not the other components of the system.
Documentation about Taler can be found at https://taler.net/.
Our bug tracker is at https://bugs.taler.net/.
Joining GNU
===========
This is a GNU program, developed by the GNU Project and part of the
GNU Operating System. If you are the author of an awesome program and
want to join us in writing Free Software, please consider making it an
official GNU program and become a GNU maintainer. You can find
instructions on how to do so at http://www.gnu.org/help/evaluation.
We are looking forward to hacking with you!
Dependencies:
=============
These are the direct dependencies for running a Taler exchange:
- GNUnet >= 0.21.1
- GNU libmicrohttpd >= 0.9.71
- PostgreSQL >= 15.0
Project structure is currently as follows:
src/include/
-- installed headers for public APIs
src/util/
-- common utility functions (currency representation,
Taler-specific cryptography, Taler-specific json
support)
src/pq/
-- Postgres-specific utility functions
src/exchangedb/
-- Exchange database backend (with database-specific plugins)
src/exchange/
-- taler exchange server
src/exchange-tools/
-- taler exchange helper programs
src/lib/
-- libtalerexchange: C API to issue HTTP requests to exchange
src/auditor/
-- tools to generate reports about financial performance and
to validate that the exchange has been operating correctly
src/auditordb/
-- database logic for the auditor component (with database-specific
plugins)
src/benchmark/
-- tool to run performance measurements
src/templating/
-- logic to generate HTML pages from templates at runtime
src/kyclogic/
-- core logic and plugins to trigger and manage KYC processes
as required by banking regulation
src/bank-lib/
-- bank REST client logic and implementation of an in-memory
RTGS emulator ("fakebank") for testing.
src/extensions/
-- extensions to the core logic of an exchange
src/json/
-- helper functions for generating and parsing JSON
src/mhd/
-- helper functions for interacting with GNU libmicrohttpd
src/curl/
-- helper functions for interacting with libcurl
Getting Started
===============
Please follow the exchange manual you can view after
installing using
$ info taler-exchange
or by visiting https://docs.taler.net/.
|