summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--conf.py124
-rw-r--r--index.rst1
-rw-r--r--manindex.rst9
-rw-r--r--manpages/taler-auditor-exchange.1.rst60
-rw-r--r--manpages/taler-auditor-sign.1.rst63
-rw-r--r--manpages/taler-auditor.1.rst55
-rw-r--r--manpages/taler-bank-transfer.1.rst72
-rw-r--r--manpages/taler-config-generate.1.rst93
-rw-r--r--manpages/taler-exchange-aggregator.1.rst47
-rw-r--r--manpages/taler-exchange-benchmark.1.rst63
-rw-r--r--manpages/taler-exchange-dbinit.1.rst57
-rw-r--r--manpages/taler-exchange-httpd.1.rst101
-rw-r--r--manpages/taler-exchange-keycheck.1.rst49
-rw-r--r--manpages/taler-exchange-keyup.1.rst69
-rw-r--r--manpages/taler-exchange-wire.1.rst46
-rw-r--r--manpages/taler-exchange-wirewatch.1.rst57
-rw-r--r--manpages/taler-merchant-benchmark.1.rst109
-rw-r--r--manpages/taler-merchant-httpd.1.rst63
-rw-r--r--manpages/taler.conf.5.rst364
19 files changed, 1448 insertions, 54 deletions
diff --git a/conf.py b/conf.py
index 7b1267a2..832323b6 100644
--- a/conf.py
+++ b/conf.py
@@ -32,6 +32,10 @@
import sys
import os
+sys.path.append(os.path.abspath('_exts'))
+
+import taler_sphinx_theme
+
# If extensions (or modules to document with autodoc) are in another directory,
# add these directories to sys.path here. If the directory is relative to the
# documentation root, use os.path.abspath to make it absolute, like shown here.
@@ -42,13 +46,12 @@ import os
# If your documentation needs a minimal Sphinx version, state it here.
needs_sphinx = '1.3'
-sys.path.append(os.path.abspath('_exts'))
-
# Add any Sphinx extension module names here, as strings. They can be
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
# ones.
extensions = [
'tsref',
+ 'taler_sphinx_theme',
'sphinx.ext.todo',
'sphinx.ext.imgmath',
'httpdomain.httpdomain',
@@ -123,9 +126,6 @@ pygments_style = 'sphinx'
# -- Options for HTML output ----------------------------------------------
-import taler_sphinx_theme
-extensions.append("taler_sphinx_theme")
-
# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
html_theme = 'taler_sphinx_theme'
@@ -227,30 +227,18 @@ latex_elements = {
# (source start file, target name, title,
# author, documentclass [howto, manual, or own class]).
latex_documents = [
- (
- 'taler-exchange-manual', 'taler-exchange-manual.tex',
- 'GNU Taler Exchange Manual', 'GNU Taler team', 'manual'
- ),
- (
- 'taler-merchant-manual', 'taler-merchant-manual.tex',
- 'GNU Taler Merchant Manual', 'GNU Taler team', 'manual'
- ),
- (
- 'taler-merchant-api-tutorial', 'taler-merchant-api-tutorial.tex',
- 'GNU Taler Merchant API Tutorial', 'GNU Taler team', 'manual'
- ),
- (
- 'taler-bank-manual', 'taler-bank-manual.tex', 'GNU Taler Bank Manual',
- 'GNU Taler team', 'manual'
- ),
- (
- 'taler-backoffice-manual', 'taler-backoffice-manual.tex',
- 'GNU Taler Back Office Manual', 'GNU Taler team', 'manual'
- ),
- (
- 'onboarding', 'onboarding.tex',
- 'GNU Taler Developer Onboarding Manual', 'GNU Taler team', 'manual'
- ),
+ ('taler-exchange-manual', 'taler-exchange-manual.tex',
+ 'GNU Taler Exchange Manual', 'GNU Taler team', 'manual'),
+ ('taler-merchant-manual', 'taler-merchant-manual.tex',
+ 'GNU Taler Merchant Manual', 'GNU Taler team', 'manual'),
+ ('taler-merchant-api-tutorial', 'taler-merchant-api-tutorial.tex',
+ 'GNU Taler Merchant API Tutorial', 'GNU Taler team', 'manual'),
+ ('taler-bank-manual', 'taler-bank-manual.tex', 'GNU Taler Bank Manual',
+ 'GNU Taler team', 'manual'),
+ ('taler-backoffice-manual', 'taler-backoffice-manual.tex',
+ 'GNU Taler Back Office Manual', 'GNU Taler team', 'manual'),
+ ('onboarding', 'onboarding.tex', 'GNU Taler Developer Onboarding Manual',
+ 'GNU Taler team', 'manual'),
]
# The name of an image file (relative to this directory) to place at the top of
@@ -277,10 +265,48 @@ latex_appendices = ["fdl-1.3"]
# One entry per manual page. List of tuples
# (source start file, name, description, authors, manual section).
-man_pages = [(
- 'index', 'taler', u'GNU Taler Documentation',
- [u'F. Dold, B. Muller, S. H. Totakura, C. Grothoff'], 1
-)]
+man_pages = [
+ ("manpages/taler-auditor-exchange.1", "taler-auditor-exchange",
+ "add or remove exchange from auditor’s list", "GNU Taler contributors",
+ 1),
+ ("manpages/taler-auditor-sign.1", "taler-auditor-sign",
+ "sign exchange denomination as auditor", "GNU Taler contributors", 1),
+ ("manpages/taler-auditor.1", "taler-auditor", "audit exchange",
+ "GNU Taler contributors", 1),
+ ("manpages/taler-bank-transfer.1", "taler-bank-transfer",
+ "trigger a transfer at the bank", "GNU Taler contributors", 1),
+ ("manpages/taler-config-generate.1", "taler-config-generate",
+ "tool to simplify Taler configuration generation",
+ "GNU Taler contributors", 1),
+ ("manpages/taler-exchange-aggregator.1", "taler-exchange-aggregator",
+ "aggregate and execute exchange transactions", "GNU Taler contributors",
+ 1),
+ ("manpages/taler-exchange-benchmark.1", "taler-exchange-benchmark",
+ "measure exchange performance", "GNU Taler contributors", 1),
+ ("manpages/taler-exchange-dbinit.1", "taler-exchange-dbinit",
+ "initialize Taler exchange database", "GNU Taler contributors", 1),
+ ("manpages/taler-exchange-httpd.1", "taler-exchange-httpd",
+ "run Taler exchange (with RESTful API)", "GNU Taler contributors", 1),
+ ("manpages/taler-exchange-keycheck.1", "taler-exchange-keycheck",
+ "check validity of Taler signing and denomination keys",
+ "GNU Taler contributors", 1),
+ ("manpages/taler-exchange-keyup.1", "taler-exchange-keyup",
+ "set up Taler exchange denomination and signing",
+ "GNU Taler contributors", 1),
+ ("manpages/taler-exchange-wire.1", "taler-exchange-wire",
+ "create the master-key signed responses to /wire",
+ "GNU Taler contributors", 1),
+ ("manpages/taler-exchange-wirewatch.1", "taler-exchange-wirewatch",
+ "watch for incoming wire transfers", "GNU Taler contributors", 1),
+ ("manpages/taler-merchant-benchmark.1", "taler-merchant-benchmark",
+ "generate Taler-style benchmarking payments", "GNU Taler contributors",
+ 1),
+ ("manpages/taler-merchant-httpd.1", "taler-merchant-httpd",
+ "run Taler merchant backend (with RESTful API)", "GNU Taler contributors",
+ 1),
+ ("manpages/taler.conf.5", "taler.conf", "Taler configuration file",
+ "GNU Taler contributors", 5),
+]
# If true, show URL addresses after external links.
#man_show_urls = False
@@ -291,27 +317,17 @@ man_pages = [(
# (source start file, target name, title, author,
# dir menu entry, description, category)
texinfo_documents = [
- (
- "taler-exchange-manual", "taler-exchange", "Taler Exchange Manual",
- "GNU Taler team", "MENU ENTRY", "DESCRIPTION", "CATEGORY"
- ),
- (
- "taler-merchant-manual", "taler-merchant", "Taler Merchant Manual",
- "GNU Taler team", "MENU ENTRY", "DESCRIPTION", "CATEGORY"
- ),
- (
- "taler-merchant-api-tutorial", "taler-merchant-api-tutorial",
- "Taler Merchant API Tutorial", "GNU Taler team", "MENU ENTRY",
- "DESCRIPTION", "CATEGORY"
- ),
- (
- "taler-bank-manual", "taler-bank", "Taler Bank Manual",
- "GNU Taler team", "MENU ENTRY", "DESCRIPTION", "CATEGORY"
- ),
- (
- "onboarding", "onboarding", "Taler Onboarding Manual", "GNU Taler team",
- "MENU ENTRY", "DESCRIPTION", "CATEGORY"
- ),
+ ("taler-exchange-manual", "taler-exchange", "Taler Exchange Manual",
+ "GNU Taler team", "MENU ENTRY", "DESCRIPTION", "CATEGORY"),
+ ("taler-merchant-manual", "taler-merchant", "Taler Merchant Manual",
+ "GNU Taler team", "MENU ENTRY", "DESCRIPTION", "CATEGORY"),
+ ("taler-merchant-api-tutorial", "taler-merchant-api-tutorial",
+ "Taler Merchant API Tutorial", "GNU Taler team", "MENU ENTRY",
+ "DESCRIPTION", "CATEGORY"),
+ ("taler-bank-manual", "taler-bank", "Taler Bank Manual", "GNU Taler team",
+ "MENU ENTRY", "DESCRIPTION", "CATEGORY"),
+ ("onboarding", "onboarding", "Taler Onboarding Manual", "GNU Taler team",
+ "MENU ENTRY", "DESCRIPTION", "CATEGORY"),
]
# Documents to append as an appendix to all manuals.
diff --git a/index.rst b/index.rst
index 8548e52a..ca12d86f 100644
--- a/index.rst
+++ b/index.rst
@@ -60,6 +60,7 @@ Documentation Overview
taler-backoffice-manual
onboarding
global-licensing
+ manindex
.. toctree::
:hidden:
diff --git a/manindex.rst b/manindex.rst
new file mode 100644
index 00000000..414dda56
--- /dev/null
+++ b/manindex.rst
@@ -0,0 +1,9 @@
+Man Pages
+#########
+
+.. toctree::
+ :maxdepth: 1
+ :titlesonly:
+ :glob:
+
+ manpages/*
diff --git a/manpages/taler-auditor-exchange.1.rst b/manpages/taler-auditor-exchange.1.rst
new file mode 100644
index 00000000..b7ef1d2f
--- /dev/null
+++ b/manpages/taler-auditor-exchange.1.rst
@@ -0,0 +1,60 @@
+taler-auditor-exchange(1)
+##########################
+
+.. only:: html
+
+ Name
+ ====
+
+ **taler-auditor-exchange** - add or remove exchange from auditor’s list
+
+Synopsis
+========
+
+**taler-auditor-exchange** [**-h** | **--help**] [**-r** | **--remove**]
+[**-m** *MASTERKEY* | **--exchange-key=**\ ‌\ *MASTERKEY*]
+[**-u** *EXCHANGE_URL* | **--auditor-url=**\ ‌\ *EXCHANGE_URL*]
+
+Description
+===========
+
+**taler-auditor-exchange** is a command line tool to be used by an
+auditor to add or remove an exchange from the list of exchange’s audited
+by the auditor. You must add an exchange to that list before signing
+denomination keys with taler-auditor-sign or trying to audit it with
+taler-auditor or taler-wire-auditor. Afterwards the exchange will be
+visible via the /exchanges API of the taler-auditor-httpd.
+
+**-m** *MASTERKEY* \| **--exchange-key=**\ ‌\ *MASTERKEY*
+ Public key of the exchange in Crockford base32 encoding, for example
+ as generated by gnunet-ecc -p.
+
+**-h** \| **--help**
+ Print short help on options.
+
+**-u** *EXCHANGE_URL* \| **--auditor-url=**\ ‌\ *EXCHANGE_URL*
+ URL of the exchange. The exchange’s HTTP API must be available at
+ this address.
+
+**-r** \| **--remove**
+ Instead of adding the exchange, remove it. Note that this will drop
+ ALL data associated with that exchange, including existing auditing
+ information. So use with extreme care!
+
+See Also
+========
+
+gnunet-ecc(1), taler-auditor-sign(1), taler.conf(5)
+
+Bugs
+====
+
+We should optionally verify the correctness of this exchange’s base URL
+and that it matches the master public key (note that the exchange may
+still be offline, so it should be possible to bypass such a verfication
+step). Furthermore, if we do verification, as a (less secure)
+convenience option, we should make **-** m optional and obtain it from
+the base URL.
+
+Report bugs by using https://gnunet.org/bugs/ or by sending electronic
+mail to <taler@gnu.org>. \ No newline at end of file
diff --git a/manpages/taler-auditor-sign.1.rst b/manpages/taler-auditor-sign.1.rst
new file mode 100644
index 00000000..b9c34fb8
--- /dev/null
+++ b/manpages/taler-auditor-sign.1.rst
@@ -0,0 +1,63 @@
+taler-auditor-sign(1)
+#####################
+
+.. only:: html
+
+ Name
+ ====
+
+ **taler-auditor-sign** - sign exchange denomination as auditor
+
+Synopsis
+========
+
+**taler-auditor-sign** [**-a** *FILE* | **--auditor-key=**\ ‌\ *FILE*]
+[**-h** | **--help**] [**-m** *KEY* | **--exchange-key=**\ ‌\ *KEY*]
+[**-u** *URL* | **--auditor-url=**\ ‌\ *URL*]
+[**-r** *FILE* | **--exchange-request=**\ ‌\ *FILE*]
+[**-o** *FILE* | **--output=**\ ‌\ *FILE*]
+
+Description
+===========
+
+**taler-auditor-sign** is a command line tool to be used by an auditor
+to sign that he is aware of certain keys being used by a exchange. Using
+this signature, the auditor affirms that he will verify that the
+exchange is properly accounting for those coins.
+
+The exchange for which keys were signed must have been added to the
+auditor using taler-auditor-exchange first!
+
+**-a** *FILE* \| **--auditor-key=**\ ‌\ *FILE*
+ Location of the private EdDSA auditor key. If it does not exist, it
+ will be created.
+
+**-h** \| **--help**
+ Print short help on options.
+
+**-m** *KEY* \| **--exchange-key=**\ ‌\ *KEY*
+ Public key of the exchange in Crockford base32 encoding, for example
+ as generated by gnunet-ecc -p.
+
+**-u** *URL* \| **--auditor-url=**\ ‌\ *URL*
+ URL of the auditor. Provides informative link for the user to learn
+ more about the auditor.
+
+**-r** *FILE* \| **--exchange-request=**\ ‌\ *FILE*
+ File with the exchange’s denomination key signing request as
+ generated by taler-exchange-keyup -o.
+
+**-o** *FILE* \| **--output=**\ ‌\ *FILE*
+ File where the auditor should write the EdDSA signature.
+
+See Also
+========
+
+gnunet-ecc(1), taler-auditor-exchange(1), taler-exchange-keyup(1),
+taler.conf(5)
+
+Bugs
+====
+
+Report bugs by using https://gnunet.org/bugs/ or by sending electronic
+mail to <taler@gnu.org>.
diff --git a/manpages/taler-auditor.1.rst b/manpages/taler-auditor.1.rst
new file mode 100644
index 00000000..e3742d94
--- /dev/null
+++ b/manpages/taler-auditor.1.rst
@@ -0,0 +1,55 @@
+taler-auditor(1)
+################
+
+.. only:: html
+
+ Name
+ ====
+
+**taler-auditor** - audit exchange
+
+Synopsis
+========
+
+**taler-auditor** [**-h** | **--help**]
+[**-m** *MASTER_KEY* | **--exchange-key=**\ ‌\ *MASTER_KEY*]
+[**-r** | **--reset**]
+
+Description
+===========
+
+**taler-auditor** is a command line tool to be used by an auditor to
+audit an exchange’s database and calculate the current financial state
+of the exchange (including revenue, amount expected in escrow and risk
+exposure). The audit is incremental. The first audit must be performed
+with the **-r** option to initialize the tables. The tool reports
+inconsistencies in the balance or incorrect cryptographic signatures
+found in the database. It does NOT check with the bank to see that the
+incoming and outgoing wire transfers that the bank claims to have
+matches the exchange’s database. Its options are as follows.
+
+**-h** \| **--help**
+ Print short help on options.
+
+**-m** *KEY* \| **--exchange-key=**\ ‌\ *KEY*
+ Public master key of the exchange in Crockford base32 encoding, for
+ example as generated by gnunet-ecc -p. If this option is missing,
+ taler-auditor will use the MASTER_PUBLIC_KEY value from the
+ “exchange” section of the configuration.
+
+**-r** \| **--reset**
+ Reset the audit, starts everything from the beginning. Useful for
+ testing and required for the first audit to setup auditor’s tables.
+ Note that if (just) the exchange key changes, the **-r** option
+ should not be used again.
+
+See Also
+========
+
+gnunet-ecc(1), taler-auditor-sign(1), taler.conf(5)
+
+Bugs
+====
+
+Report bugs by using https://bugs.gnunet.org or by sending electronic
+mail to <taler@gnu.org>.
diff --git a/manpages/taler-bank-transfer.1.rst b/manpages/taler-bank-transfer.1.rst
new file mode 100644
index 00000000..12944e60
--- /dev/null
+++ b/manpages/taler-bank-transfer.1.rst
@@ -0,0 +1,72 @@
+taler-bank-transfer(1)
+######################
+
+.. only:: html
+
+ Name
+ ====
+
+ **taler-bank-transfer** - trigger a transfer at the bank
+
+Synopsis
+========
+
+**taler-bank-transfer** [**-a** *VALUE* | **--amount=**\ ‌\ *VALUE*]
+[**-b** *URL* | **--bank=**\ ‌\ *URL*]
+[**-c** *FILENAME* | **--config=**\ ‌\ *FILENAME*] [**-h** | **--help**]
+[**-D** *ACCOUNT* | **--debit=**\ ‌\ *ACCOUNT*]
+[**-C** *ACCOUNT* | **--credit=**\ ‌\ *ACCOUNT*]
+[**-s** *STRING* | **--subject=**\ ‌\ *STRING*]
+[**-u** *USERNAME* | **--user=**\ ‌\ *USERNAME*]
+[**-p** *PASSPHRASE* | **--pass=**\ ‌\ *PASSPHRASE*]
+[**-v** | **--version**]
+
+Description
+===========
+
+**taler-bank-transfer** is a command line tool to trigger bank
+transfers.
+
+**-a** *VALUE* \| **--amount=**\ ‌\ *VALUE*
+ Amount to transfer. Given in the Taler-typical format of
+ CURRENCY:VALUE.FRACTION
+
+**-b** *URL* \| **--bank=**\ ‌\ *URL*
+ URL at which the bank is operation.
+
+**-c** *FILENAME* \| **--config=**\ ‌\ *FILENAME*
+ Use the given configuration file.
+
+**-h** \| **--help**
+ Print short help on options.
+
+**-D** *ACCOUNT* \| **--debit=**\ ‌\ *ACCOUNT*
+ The money should be debited from ACCOUNT. Specifies the number of the
+ account.
+
+**-C** *ACCOUNT* \| **--credit=**\ ‌\ *ACCOUNT*
+ The money should be credited to ACCOUNT. Specifies the number of the
+ account.
+
+**-s** *STRING* \| **--subject=**\ ‌\ *STRING*
+ Use STRING for the wire transfer subject.
+
+**-u** *USERNAME* \| **--user=**\ ‌\ *USERNAME*
+ Specifies the username for authentication.
+
+**-p** *PASSPHRASE* \| **--pass=**\ ‌\ *PASSPHRASE*
+ Specifies the pass phrase for authentication.
+
+**-v** \| **--version**
+ Print version information.
+
+See Also
+========
+
+taler-bank-manage(1), taler.conf(5)
+
+Bugs
+====
+
+Report bugs by using https://gnunet.org/bugs/ or by sending electronic
+mail to <taler@gnu.org>
diff --git a/manpages/taler-config-generate.1.rst b/manpages/taler-config-generate.1.rst
new file mode 100644
index 00000000..f7fd1cc5
--- /dev/null
+++ b/manpages/taler-config-generate.1.rst
@@ -0,0 +1,93 @@
+taler-config-generate(1)
+########################
+
+.. only:: html
+
+ Name
+ ====
+
+ **taler-config-generate** - tool to simplify Taler configuration
+ generation
+
+Synopsis
+========
+
+**taler-config-generate**
+[**-c** *FILENAME* | **--config=**\ ‌\ *FILENAME*]
+[**-C** *CURRENCY* | **--currency=**\ ‌\ *CURRENCY*]
+[**-e** | **--exchange**] [**-f** *AMOUNT* | *-wirefee=*\ ‌\ *AMOUNT*]
+[**-m** | **--merchant**] [**-t** | **--trusted**]
+[**-w** *WIREFORMAT* | **--wire** *WIREFORMAT*]
+[**-j** *JSON* | **--wire-json-merchant=**\ ‌\ *JSON*]
+[**-J** *JSON* | **--wire-json-exchange=**\ ‌\ *JSON*] [**--bank-uri**]
+[**--exchange-bank-account**] [**--merchant-bank-account**]
+[**-h** | **--help**]
+[**-L** *LOGLEVEL* | **--loglevel=**\ ‌\ *LOGLEVEL*]
+[**-v** | **--version**]
+
+Description
+===========
+
+**taler-config-generate** can be used to generate configuration files
+for the Taler exchange or Taler merchants.
+
+**-c** *FILENAME* \| **--config=**\ ‌\ *FILENAME*
+ Location where to write the generated configuration. Existing file
+ will be updated, not overwritten.
+
+**-C** *CURRENCY* \| **--currency=**\ ‌\ *CURRENCY*
+ Which currency should we use in the configuration.
+
+**-e** \| **--exchange**
+ Generate configuration for a Taler exchange.
+
+**-f** *AMOUNT* \| *-wirefee=*\ ‌\ *AMOUNT*
+ Setup wire transfer fees for the next 5 years for the exchange (for
+ all wire methods).
+
+**-m** \| **--merchant**
+ Generate configuration for a Taler merchant.
+
+**-t** \| **--trusted**
+ Setup current exchange as trusted with current merchant. Generally
+ only useful when configuring for testcases.
+
+**-w** *WIREFORMAT* \| **--wire** *WIREFORMAT*
+ Specifies which wire format to use (i.e. “test” or “sepa”)
+
+**-j** *JSON* \| **--wire-json-merchant=**\ ‌\ *JSON*
+ Wire configuration to use for the merchant.
+
+**-J** *JSON* \| **--wire-json-exchange=**\ ‌\ *JSON*
+ Wire configuration to use for the exchange.
+
+**--bank-uri**
+ Alternative to specify wire configuration to use for the exchange and
+ merchant for the “test” wire method. Only useful if WIREFORMAT was
+ set to “test”. Specifies the URI of the bank.
+
+**--exchange-bank-account**
+ Alternative to specify wire configuration to use for the exchange for
+ the “test” wire method. Only useful if WIREFORMAT was set to “test”.
+ Specifies the bank account number of the exchange.
+
+**--merchant-bank-account**
+ Alternative to specify wire configuration to use for the merchant for
+ the “test” wire method. Only useful if WIREFORMAT was set to “test”.
+ Specifies the bank account number of the merchant.
+
+**-h** \| **--help**
+ Shows this man page.
+
+**-L** *LOGLEVEL* \| **--loglevel=**\ ‌\ *LOGLEVEL*
+ Use LOGLEVEL for logging. Valid values are DEBUG, INFO, WARNING and
+ ERROR.
+
+**-v** \| **--version**
+ Print GNUnet version number.
+
+Bugs
+====
+
+Report bugs by using https://gnunet.org/bugs/ or by sending electronic
+mail to <taler@gnu.org>.
diff --git a/manpages/taler-exchange-aggregator.1.rst b/manpages/taler-exchange-aggregator.1.rst
new file mode 100644
index 00000000..8f9afaaf
--- /dev/null
+++ b/manpages/taler-exchange-aggregator.1.rst
@@ -0,0 +1,47 @@
+taler-exchange-aggregator(1)
+############################
+
+.. only:: html
+
+ Name
+ ====
+
+ **taler-exchange-aggregator** - aggregate and execute exchange transactions
+
+Synopsis
+========
+
+**taler-exchange-aggregator**
+[**-d** *DIRNAME* | **--exchange-dir=**\ ‌\ *DIRNAME*]
+[**-h** | **--help**] [**-t** | **--test**] [**-v** | **--version**]
+
+Description
+===========
+
+**taler-exchange-aggregator** is a command line tool to run pending
+transactions from the Taler exchange.
+
+**-d** *DIRNAME* \| **--exchange-dir=**\ ‌\ *DIRNAME*
+ Use the configuration and other resources for the exchange to operate
+ from *DIRNAME*.
+
+**-h** \| **--help**
+ Print short help on options.
+
+**-t** \| **--test**
+ Run in test mode and exit when idle.
+
+**-v** \| **--version**
+ Print version information.
+
+See Also
+========
+
+taler-exchange-dbinit(1), taler-exchange-keyup(1),
+taler-exchange-httpd(1), taler.conf(5).
+
+Bugs
+====
+
+Report bugs by using https://gnunet.org/bugs/ or by sending electronic
+mail to <taler@gnu.org>.
diff --git a/manpages/taler-exchange-benchmark.1.rst b/manpages/taler-exchange-benchmark.1.rst
new file mode 100644
index 00000000..4ea23784
--- /dev/null
+++ b/manpages/taler-exchange-benchmark.1.rst
@@ -0,0 +1,63 @@
+taler-exchange-benchmark(1)
+###########################
+
+
+.. only:: html
+
+ Name
+ ====
+
+ **taler-exchange-benchmark** - measure exchange performance
+
+
+Synopsis
+========
+
+**taler-exchange-benchmark**
+[**-c** *CONFIG_FILENAME* | **--config=**\ ‌\ *CONFIG_FILENAME*]
+[**-b** *BANK_URL* | **—bank-url=**\ ‌\ *BANK_URL*]
+[**-n** *HOWMANY_COINS* | **--coins-number=**\ ‌\ *HOWMANY_COINS*]
+[**-l** *LOGLEVEL* | **--log-level=**\ ‌\ *LOGLEVEL*]
+[**-h** | **--help**]
+
+Description
+===========
+
+**taler-exchange-benchmark** is a command line tool to measure the time
+spent to serve withdrawals/deposits/refreshes. It usually needs a
+dedicate configuration file where all the services - the exchange and
+the (fake)bank - listen to URLs not subject to any reverse proxy, as say
+Nginx. Moreover, the benchmark runs on a “volatile” database, that means
+that table are always erased during a single benchmark run.
+
+**-c** *CONFIG_FILENAME* \| **--config=**\ ‌\ *CONFIG_FILENAME*
+ (Mandatory) Use CONFIG_FILENAME.
+
+**-b** *BANK_URL* \| **—bank-url=**\ ‌\ *BANK_URL*
+ (Mandatory) The URL where the fakebank listens at. Must match the
+ host component in the exchange’s escrow account “payto” URL.
+
+**-n** *HOWMANY_COINS* \| **--coins-number=**\ ‌\ *HOWMANY_COINS*
+ Defaults to 1. Specifies how many coins this benchmark should
+ withdraw and spend. After being spent, each coin will be refreshed
+ with a REFRESH_PROBABILITY probability, which is (hardcoded as) 0.1;
+ future versions of this tool should offer this parameter as a CLI
+ option.
+
+**-l** *LOGLEVEL* \| **--log-level=**\ ‌\ *LOGLEVEL*
+ GNUnet-compatible log level, takes values “ERROR/WARNING/INFO/DEBUG”
+
+**-h** \| **--help**
+ Prints a compiled-in help text.
+
+See Also
+========
+
+taler-exchange-dbinit(1), taler-exchange-keyup(1),
+taler-exchange-httpd(1), taler.conf(5)
+
+Bugs
+====
+
+Report bugs by using https://gnunet.org/bugs/ or by sending electronic
+mail to <taler@gnu.org>.
diff --git a/manpages/taler-exchange-dbinit.1.rst b/manpages/taler-exchange-dbinit.1.rst
new file mode 100644
index 00000000..b693e7fc
--- /dev/null
+++ b/manpages/taler-exchange-dbinit.1.rst
@@ -0,0 +1,57 @@
+taler-exchange-dbinit(1)
+########################
+
+.. only:: html
+
+ Name
+ ====
+
+ **taler-exchange-dbinit** - initialize Taler exchange database
+
+
+Synopsis
+========
+
+**taler-exchange-dbinit**
+[**-d** *DIRNAME* | **–exchange-dir=**\ ‌\ *DIRNAME*]
+[**-h** | **–help**] [**-g** | **–gc**] [**-r** | **–reset**]
+[**-v** | **–version**]
+
+Description
+===========
+
+**taler-exchange-dbinit** is a command line tool to initialize the Taler
+exchange database. It creates the necessary tables and indices for the
+Taler exchange to operate.
+
+Its options are as follows:
+
+**-d** *DIRNAME* \| **–exchange-dir=**\ ‌\ *DIRNAME*
+ Use the configuration and other resources for the exchange to operate
+ from *DIRNAME*.
+
+**-h** \| **–help**
+ Print short help on options.
+
+**-g** \| **–gc**
+ Garbage collect database. Deletes all unnecessary data in the
+ database.
+
+**-r** \| **–reset**
+ Drop tables. Dangerous, will delete all existing data in the database
+ before creating the tables.
+
+**-v** \| **–version**
+ Print version information.
+
+See Also
+========
+
+taler-exchange-httpd(1), taler-exchange-keyup(1),
+taler-exchange-reservemod(1), taler.conf(5).
+
+Bugs
+====
+
+Report bugs by using https://bugs.gnunet.org or by sending electronic
+mail to <taler@gnu.org>.
diff --git a/manpages/taler-exchange-httpd.1.rst b/manpages/taler-exchange-httpd.1.rst
new file mode 100644
index 00000000..6c9977a6
--- /dev/null
+++ b/manpages/taler-exchange-httpd.1.rst
@@ -0,0 +1,101 @@
+taler-exchange-httpd(1)
+#######################
+
+.. only:: html
+
+ Name
+ ====
+
+ **taler-exchange-httpd** - run Taler exchange (with RESTful API)
+
+Synopsis
+========
+
+**taler-exchange-httpd** [**-C** | **–connection-close**]
+[**-c** *FILENAME* | **–config=**\ ‌\ *FILENAME*]
+[**-f** *FILENAME* | **–file-input=**\ ‌\ *FILENAME*]
+[**-h** | **–help**] [**-i** | **–init-db**]
+[**-L** *LOGLEVEL* | **–loglevel=**\ ‌\ *LOGLEVEL*]
+[**-t** *SECONDS* | **–timeout=**\ ‌\ *SECONDS*] [**-v** | **–version**]
+
+Description
+===========
+
+**taler-exchange-httpd** is a command line tool to run the Taler
+exchange (HTTP server). The required configuration, keys and database
+must exist before running this command.
+
+Its options are as follows:
+
+**-C** \| **–connection-close**
+ Force each HTTP connection to be closed after each request (useful in
+ combination with **-f** to avoid having to wait for nc to time out).
+
+**-c** *FILENAME* \| **–config=**\ ‌\ *FILENAME*
+ Use the configuration and other resources for the merchant to operate
+ from FILENAME.
+
+**-h** \| **–help**
+ Print short help on options.
+
+**-i** \| **–init-db**
+ Initialize the database by creating tables and indices if necessary.
+
+**-v** \| **–version**
+ Print version information.
+
+**-f** *FILENAME* \| **–file-input=**\ ‌\ *FILENAME*
+ This option is only available if the exchange was compiled with the
+ configure option –enable-developer-mode. It is used for generating
+ test cases against the exchange using AFL. When this option is
+ present, the HTTP server will
+
+ 1. terminate after the first client’s HTTP connection is completed,
+ and
+ 2. automatically start such a client using a helper process based on
+ the nc(1) or ncat(1) binary using FILENAME as the standard input
+ to the helper process.
+
+ As a result, the process will effectively run with *FILENAME* as the
+ input from an HTTP client and then immediately exit. This is useful
+ to test taler-exchange-httpd against many different possible inputs
+ in a controlled way.
+
+**-t** *SECONDS* \| **–timeout=**\ ‌\ *SECONDS*
+ Specifies the number of SECONDS after which the HTTPD should close
+ (idle) HTTP connections.
+
+**-L** *LOGLEVEL* \| **–loglevel=**\ ‌\ *LOGLEVEL*
+ Specifies the log level to use. Accepted values are: DEBUG, INFO,
+ WARNING, ERROR.
+
+SIGNALS
+=======
+
+**taler-exchange-httpd** responds to the following signals:
+
+``SIGUSR1``
+ Sending a SIGUSR1 to the process will cause it to reload denomination
+ and signing keys.
+
+``SIGTERM``
+ Sending a SIGTERM to the process will cause it to shutdown cleanly.
+
+``SIGHUP``
+ Sending a SIGHUP to the process will cause it to re-execute the
+ taler-exchange-httpd binary in the PATH, passing it the existing
+ listen socket. Then the old server process will automatically exit
+ after it is done handling existing client connections; the new server
+ process will accept and handle new client connections.
+
+See Also
+========
+
+taler-exchange-dbinit(1), taler-exchange-keyup(1),
+taler-exchange-reservemod(1), taler.conf(5).
+
+Bugs
+====
+
+Report bugs by using https://gnunet.org/bugs or by sending electronic
+mail to <taler@gnu.org>.
diff --git a/manpages/taler-exchange-keycheck.1.rst b/manpages/taler-exchange-keycheck.1.rst
new file mode 100644
index 00000000..6693b6e3
--- /dev/null
+++ b/manpages/taler-exchange-keycheck.1.rst
@@ -0,0 +1,49 @@
+taler-exchange-keycheck(1)
+##########################
+
+.. only:: html
+
+ Name
+ ====
+
+ **taler-exchange-keycheck** - check validity of Taler signing and
+ denomination keys
+
+Synopsis
+========
+
+**taler-exchange-keycheck**
+[**-d** *DIRNAME* | **–exchange-dir=**\ ‌\ *DIRNAME*]
+[**-h** | **–help**] [**-v** | **–version**]
+
+Description
+===========
+
+**taler-exchange-keycheck** can be used to check if the signing and
+denomination keys in the operation directory are well-formed. This can
+be useful after importing fresh keys from the offline system to ensure
+that the files are correct.
+
+Its options are as follows:
+
+**-d** *DIRNAME* \| **–exchange-dir=**\ ‌\ *DIRNAME*
+ Use the configuration and other resources for the exchange to operate
+ from *DIRNAME*.
+
+**-h** \| **–help**
+ Print short help on options.
+
+**-v** \| **–version**
+ Print version information.
+
+See Also
+========
+
+taler-exchange-httpd(1), taler-exchange-keyup(1),
+taler-exchange-dbinit(1), taler.conf(5).
+
+Bugs
+====
+
+Report bugs by using https://gnunet.org/bugs/ or by sending electronic
+mail to <taler@gnu.org>.
diff --git a/manpages/taler-exchange-keyup.1.rst b/manpages/taler-exchange-keyup.1.rst
new file mode 100644
index 00000000..07a6b441
--- /dev/null
+++ b/manpages/taler-exchange-keyup.1.rst
@@ -0,0 +1,69 @@
+taler-exchange-keyup(1)
+#######################
+
+.. only:: html
+
+ Name
+ ====
+
+ **taler-exchange-keyup** - set up Taler exchange denomination and signing
+ keys
+
+Synopsis
+========
+
+**taler-exchange-keyup**
+[**-d** *DIRNAME* | **–exchange-dir=**\ ‌\ *DIRNAME*]
+[**-h** | **–help**] [**-m** *FILE* | **–master-key=**\ ‌\ *FILE*]
+[**-o** *FILE* | **–output=**\ ‌\ *FILE*]
+[**-r** *DKH* | **–revoke=**\ ‌\ *DKH*]
+[**-t** *TIMESTAMP* | **–time=**\ ‌\ *TIMESTAMP*]
+[**-v** | **–version**]
+
+Description
+===========
+
+**taler-exchange-keyup** is a command line tool to setup Taler
+denomination and signing keys. This tool requires access to the
+exchange’s long-term offline signing key and should be run in a secure
+(offline) environment under strict controls. The resulting keys can then
+be copied to the main online directory where the Taler HTTP server
+operates.
+
+Its options are as follows:
+
+**-d** *DIRNAME* \| **–exchange-dir=**\ ‌\ *DIRNAME*
+ Use the configuration and other resources for the exchange to operate
+ from *DIRNAME*.
+
+**-h** \| **–help**
+ Print short help on options.
+
+**-m** *FILE* \| **–master-key=**\ ‌\ *FILE*
+ Location of the private EdDSA offline master key of the exchange.
+
+**-o** *FILE* \| **–output=**\ ‌\ *FILE*
+ Where to write a denomination key signing request file to be given to
+ the auditor.
+
+**-r** *DKH* \| **–revoke=**\ ‌\ *DKH*
+ Revoke the denomination key where the denomination public key’s hash
+ is DKH.
+
+**-t** *TIMESTAMP* \| **–time=**\ ‌\ *TIMESTAMP*
+ Operate as if the current time was *TIMESTAMP*.
+
+**-v** \| **–version**
+ Print version information.
+
+See Also
+========
+
+taler-exchange-httpd(1), taler-exchange-keyup(1),
+taler-exchange-keycheck(1), taler.conf(5).
+
+Bugs
+====
+
+Report bugs by using https://gnunet.org/bugs/ or by sending electronic
+mail to <taler@gnu.org>.
diff --git a/manpages/taler-exchange-wire.1.rst b/manpages/taler-exchange-wire.1.rst
new file mode 100644
index 00000000..22ab8572
--- /dev/null
+++ b/manpages/taler-exchange-wire.1.rst
@@ -0,0 +1,46 @@
+taler-exchange-wire(1)
+######################
+
+.. only:: html
+
+ Name
+ ====
+
+ **taler-exchange-wire** - create the master-key signed responses to
+ /wire
+
+Synopsis
+========
+
+**taler-exchange-wire** [**-h** | **–help**]
+[**-m** *MASTERKEYFILE* | **–master=**\ ‌\ *MASTERKEYFILE*]
+[**-v** | **–version**]
+
+Description
+===========
+
+**taler-exchange-wire** is used to create the exchange’s reply to a
+/wire request. It converts the bank details into the appropriate signed
+response. This needs to be done using the long-term offline master key.
+
+Its options are as follows:
+
+**-h** \| **–help**
+ Print short help on options.
+
+**-m** *MASTERKEYFILE* \| **–master=**\ ‌\ *MASTERKEYFILE*
+ Specifies the name of the file containing the exchange’s master key.
+
+**-v** \| **–version**
+ Print version information.
+
+See Also
+========
+
+taler-exchange-httpd(1), taler.conf(5).
+
+Bugs
+====
+
+Report bugs by using https://gnunet.org/bugs/ or by sending electronic
+mail to <taler@gnu.org>.
diff --git a/manpages/taler-exchange-wirewatch.1.rst b/manpages/taler-exchange-wirewatch.1.rst
new file mode 100644
index 00000000..8aaa50fb
--- /dev/null
+++ b/manpages/taler-exchange-wirewatch.1.rst
@@ -0,0 +1,57 @@
+taler-exchange-wirewatch(1)
+###########################
+
+.. only:: html
+
+ Name
+ ====
+
+ **taler-exchange-wirewatch** - watch for incoming wire transfers
+
+Synopsis
+========
+
+**taler-exchange-wirewatch**
+[**-t** *PLUGINNAME* | **–type=**\ ‌\ *PLUGINNAME*] [**-h** | **–help**]
+[**-T** | **–test**] [**-r** | **–reset**] [**-v** | **–version**]
+
+Description
+===========
+
+**taler-exchange-wirewatch** is a command line tool to import wire
+transactions into the Taler exchange database.
+
+Its options are as follows:
+
+**-t** *PLUGINNAME* \| **–type=**\ ‌\ *PLUGINNAME*
+
+ Use the specified wire plugin and its configuration to talk to the
+ bank.
+
+**-h** \| **–help**
+
+ Print short help on options.
+
+**-T** \| **–test**
+
+ Run in test mode and exit when idle.
+
+**-r** \| **–reset**
+
+ Ignore our own database and start with transactions from the
+ beginning of time.
+
+**-v** \| **–version**
+
+ Print version information.
+
+See Also
+========
+
+taler-exchange-aggregator(1), taler-exchange-httpd(1), taler.conf(5).
+
+Bugs
+====
+
+Report bugs by using https://gnunet.org/bugs/ or by sending electronic
+mail to <taler@gnu.org>.
diff --git a/manpages/taler-merchant-benchmark.1.rst b/manpages/taler-merchant-benchmark.1.rst
new file mode 100644
index 00000000..b4a1af36
--- /dev/null
+++ b/manpages/taler-merchant-benchmark.1.rst
@@ -0,0 +1,109 @@
+taler-merchant-benchmark(1)
+###########################
+
+
+.. only:: html
+
+ Name
+ ====
+
+ **taler-merchant-benchmark** - generate Taler-style benchmarking payments
+
+
+Synopsis
+========
+
+**taler-merchant-benchmark** [*subcommand*] [*options*]
+
+
+Description
+===========
+
+**taler-merchant-benchmark** is a command line tool to populate your
+merchant database with payments for benchmarking.
+
+
+Subcommands
+===========
+
+ordinary
+ Generate normal payments: all the payments are performed (by the
+ default instance) and aggregated by the exchange. Takes the following
+ options.
+
+ -p PN, --payments-number=PN
+ Perform PN many payments, defaults to 1.
+
+
+ -t TN, --tracks-number=TN
+ Perform TN many tracking operations, defaults to 1.
+
+
+corner
+ Drive the generator to create unusual situations, like for example
+ leaving payments unaggregated, or using a non-default merchant
+ instance. Takes the following options.
+
+
+ -t TC, --two-coins=TC
+ Perform TC many payments that use two coins (normally, all the
+ payments use only one coin). TC defaults to 1.
+
+
+ -i AI, --alt-instance=AI
+ Use AI as the instance, instead of 'default' (which is the
+ default instance used.)
+
+
+ -u UN, --unaggregated-number=UN
+ Generate UN payments that will be left unaggregated. Note that
+ subsequent invocations of the generator may pick those
+ unaggregated payments and actually aggregated them.
+
+
+
+Common Options
+==============
+
+-k K, --currency=K
+ Use currency K, mandatory.
+
+
+-m URL, --merchant-url=URL
+ Use URL as the merchant base URL during the benchmark. The URL
+ is mainly used to download and pay for contracts. Mandatory.
+
+
+-b URL, --bank-url=URL
+ Use URL as the bank's base URL during the benchmark. The URL is
+ used to test whether the bank is up and running. Mandatory.
+
+-c FILENAME, --config=FILENAME
+ Use the configuration and other resources for the merchant to
+ operate from FILENAME.
+
+-h, --help
+ Print short help on options.
+
+-v, --version
+ Print version information.
+
+-l LF, --logfile=LF
+ Sends logs to file whose path is LF.
+
+
+-L LOGLEVEL, --log=LOGLEVEL
+ Use loglevel LOGLEVEL.
+
+
+Bugs
+====
+
+Report bugs by using https://gnunet.org/bugs/ or by sending electronic
+mail to <taler@gnu.org>.
+
+
+See Also
+========
+
+taler-merchant-dbinit(1), taler-merchant-tip-enable(1), taler.conf(5)
diff --git a/manpages/taler-merchant-httpd.1.rst b/manpages/taler-merchant-httpd.1.rst
new file mode 100644
index 00000000..0d12030f
--- /dev/null
+++ b/manpages/taler-merchant-httpd.1.rst
@@ -0,0 +1,63 @@
+taler-merchant-httpd(1)
+#######################
+
+.. only:: html
+
+ Name
+ ====
+
+ **taler-merchant-httpd** - Run Taler merchant backend (with RESTful API)
+
+
+Synopsis
+========
+
+**taler-merchant-httpd** [*options*]
+
+
+Description
+===========
+
+taler-merchant-httpd is a command line tool to run the Taler merchant
+(HTTP backend). The required configuration and database must exist
+before running this command.
+
+
+Options
+=======
+
+-C, --connection-close
+ Force each HTTP connection to be closed after each request
+ (useful in combination with -f to avoid having to wait for nc to
+ time out).
+
+-c FILENAME, --config=FILENAME
+ Use the configuration and other resources for the merchant to
+ operate from FILENAME.
+
+-h, --help
+ Print short help on options.
+
+-v, --version
+ Print version information.
+
+
+Signals
+========
+
+SIGTERM
+ Sending a SIGTERM to the process will cause it to shutdown
+ cleanly.
+
+
+Bugs
+====
+
+Report bugs by using Mantis <https://gnunet.org/bugs/> or by sending
+electronic mail to <taler@gnu.org>
+
+
+See Also
+========
+
+taler-merchant-dbinit(1), taler-merchant-tip-enable(1), taler.conf(5)
diff --git a/manpages/taler.conf.5.rst b/manpages/taler.conf.5.rst
new file mode 100644
index 00000000..853f05c6
--- /dev/null
+++ b/manpages/taler.conf.5.rst
@@ -0,0 +1,364 @@
+taler.conf(5)
+#############
+
+.. only:: html
+
+ Name
+ ====
+
+ **taler.conf** - Taler configuration file
+
+
+Description
+===========
+
+The basic structure of the configuration file is the following. The file
+is split into sections. Every section begins with “[SECTIONNAME]” and
+contains a number of options of the form “OPTION=VALUE”. Empty lines and
+lines beginning with a “#” are treated as comments. Files containing
+default values for many of the options described below are installed
+under $TALER_PREFIX/share/taler/config.d/. The configuration file given
+with **-c** to Taler binaries overrides these defaults.
+
+Global Options
+--------------
+
+The following options are from the “[taler]” section and used by
+virtually all Taler components.
+
+CURRENCY
+ Name of the currency, i.e. “EUR” for Euro.
+
+The “[PATHS]” section is special in that it contains paths that can be
+referenced using “$” in other configuration values that specify
+filenames. For Taler, it commonly contains the following paths:
+
+TALER_HOME
+ Home directory of the user, usually “${HOME}”. Can be overwritten by
+ testcases by setting ${TALER_TEST_HOME}.
+
+TALER_DATA_HOME
+ Where should Taler store its long-term data. Usually
+ “${TALER_HOME}/.local/share/taler/”
+
+TALER_CONFIG_HOME
+ Where is the Taler configuration kept. Usually
+ “${TALER_HOME}/.config/taler/”
+
+TALER_CACHE_HOME
+ Where should Taler store cached data. Usually
+ “${TALER_HOME}/.cache/taler/”
+
+TALER_RUNTIME_DIR
+ Where should Taler store system runtime data (like UNIX domain
+ sockets). Usually “${TMP}/taler-system-runtime”.
+
+EXCHANGE OPTIONS
+----------------
+
+The following options are from the “[exchange]” section and used by most
+exchange tools.
+
+DB
+ Plugin to use for the database, i.e. “postgres”
+
+PORT
+ Port on which the HTTP server listens, i.e. 8080.
+
+MASTER_PUBLIC_KEY
+ Crockford Base32-encoded master public key, public version of the
+ exchange´s long-time offline signing key.
+
+MASTER_PRIV_FILE
+ Location of the master private key on disk. Only used by tools that
+ can be run offline (as the master key is for offline signing).
+
+BASE_URL
+ Specifies the base URL under which the exchange can be reached. Added
+ to wire transfers to enable tracking by merchants.
+
+SIGNKEY_DURATION
+ For how long is a signing key valid?
+
+LEGAL_DURATION
+ For how long are signatures with signing keys legally valid?
+
+LOOKAHEAD_SIGN
+ How long do we generate denomination and signing keys ahead of time?
+
+LOOKAHEAD_PROVIDE
+ How long into the future do we provide signing and denomination keys
+ to clients?
+
+EXCHANGE POSTGRES BACKEND DATABASE OPTIONS
+------------------------------------------
+
+The following options must be in section “[exchangedb-postgres]” if the
+“postgres” plugin was selected for the database.
+
+CONFIG
+ How to access the database, i.e. “postgres:///taler” to use the
+ “taler” database. Testcases use “talercheck”.
+
+MERCHANT OPTIONS
+----------------
+
+The following options are from the “[merchant]” section and used by the
+merchant backend.
+
+DB
+ Plugin to use for the database, i.e. “postgres”
+
+PORT
+ Port on which the HTTP server listens, i.e. 8080.
+
+WIRE_TRANSFER_DELAY
+ How quickly do we want the exchange to send us money? Note that wire
+ transfer fees will be higher if we ask for money to be wired often.
+ Given as a relative time, i.e. “5 s”
+
+DEFAULT_MAX_WIRE_FEE
+ Maximum wire fee we are willing to accept from exchanges. Given as a
+ Taler amount, i.e. “EUR:0.1”
+
+DEFAULT_MAX_DEPOSIT_FEE
+ Maximum deposit fee we are willing to cover. Given as a Taler amount,
+ i.e. “EUR:0.1”
+
+MERCHANT POSTGRES BACKEND DATABASE OPTIONS
+------------------------------------------
+
+The following options must be in section “[merchantdb-postgres]” if the
+“postgres” plugin was selected for the database.
+
+CONFIG
+ How to access the database, i.e. “postgres:///taler” to use the
+ “taler” database. Testcases use “talercheck”.
+
+MERCHANT INSTANCES
+------------------
+
+The merchant configuration must specify a set of instances, containing
+at least the “default” instance. The following options must be given in
+each “[instance-NAME]” section.
+
+KEYFILE
+ Name of the file where the instance´s private key is to be stored,
+ i.e. “${TALER_CONFIG_HOME}/merchant/instance/name.priv”
+
+NAME
+ Human-readable name of the instance, i.e. “Kudos Inc.”
+
+Additionally, for instances that support tipping, the following options
+are required.
+
+TIP_EXCHANGE
+ Base-URL of the exchange that holds the reserve for tipping,
+ i.e. “https://exchange.demo.taler.net/”
+
+TIP_EXCHANGE_PRIV_FILENAME
+ Filename with the private key granting access to the reserve,
+ i.e. “${TALER_CONFIG_HOME}/merchant/reserve/tip.priv”
+
+KNOWN EXCHANGES (for merchants and wallets)
+-------------------------------------------
+
+The merchant configuration can include a list of known exchanges if the
+merchant wants to specify that certain exchanges are explicitly trusted.
+For each trusted exchange, a section [exchange-NAME] must exist, where
+NAME is a merchant-given name for the exchange. The following options
+must be given in each “[exchange-NAME]” section.
+
+BASE_URL
+ Base URL of the exchange, i.e. “https://exchange.demo.taler.net/”
+
+MASTER_KEY
+ Crockford Base32 encoded master public key, public version of the
+ exchange´s long-time offline signing key
+
+CURRENCY
+ Name of the currency for which this exchange is trusted, i.e. “KUDOS”
+
+KNOWN AUDITORS (for merchants and wallets)
+------------------------------------------
+
+The merchant configuration can include a list of known exchanges if the
+merchant wants to specify that certain auditors are explicitly trusted.
+For each trusted exchange, a section [auditor-NAME] must exist, where
+NAME is a merchant-given name for the exchange. The following options
+must be given in each “[auditor-NAME]” section.
+
+BASE_URL
+ Base URL of the auditor, i.e. “https://auditor.demo.taler.net/”
+
+AUDITOR_KEY
+ Crockford Base32 encoded auditor public key.
+
+CURRENCY
+ Name of the currency for which this auditor is trusted, i.e. “KUDOS”
+
+ACCOUNT OPTIONS (for exchanges and merchants)
+---------------------------------------------
+
+An exchange (or merchant) can have multiple bank accounts. The following
+options are for sections named “[account-SOMETHING]”. The SOMETHING is
+arbitrary and should be chosen to uniquely identify the bank account for
+the operator. Additional authentication options may need to be specified
+in the account section depending on the PLUGIN used.
+
+URL
+ Specifies the payto://-URL of the account. The general format is
+ payto://METHOD/DETAILS. This option is used for exchanges and
+ merchants.
+
+WIRE_RESPONSE
+ Specifies the name of the file in which the /wire response for this
+ account should be located. Used by the Taler exchange service and the
+ taler-exchange-wire tool and the taler-merchant-httpd (to generate
+ the files).
+
+PLUGIN
+ Name of the plugin can be used to access the account
+ (i.e. “taler-bank” or “ebics”). Used by the merchant backend for back
+ office operations (i.e. to identify incoming wire transfers) and by
+ the exchange.
+
+ENABLE_DEBIT
+ Must be set to YES for the accounts that the
+ taler-exchange-aggregator should debit. Not used by merchants.
+
+ENABLE_CREDIT
+ Must be set to YES for the accounts that the taler-exchange-wirewatch
+ should check for credits. It is yet uncertain if the merchant
+ implementation may check this flag as well.
+
+HONOR_instance
+ Must be set to YES for the instances (where “instance” is the section
+ name of the instance) of the merchant backend that should allow
+ incoming wire transfers for this bank account.
+
+ACTIVE_instance
+ Must be set to YES for the instances (where “instance” is the section
+ name of the instance) of the merchant backend that should use this
+ bank account in new offers/contracts. Setting ACTIVE_instance to YES
+ requires also setting ENABLE_instance to YES.
+
+TALER-BANK AUTHENTICATION OPTIONS (for accounts)
+------------------------------------------------
+
+The following authentication options are supported by the “taler-bank”
+wire plugin. They must be specified in the “[account-]” section that
+uses the “taler-bank” plugin.
+
+TALER_BANK_AUTH_METHOD
+ Authentication method to use. “none” or “basic” are currently
+ supported.
+
+USERNAME
+ Username to use for authentication. Used with the “basic”
+ authentication method.
+
+PASSWORD
+ Password to use for authentication. Used with the “basic”
+ authentication method.
+
+EBICS AUTHENTICATION OPTIONS
+----------------------------
+
+The following authentication options are supported by the “ebics” wire
+plugin. They must be specified in the “[account-]” section that uses the
+“ebics” plugin.
+
+NONE
+ Currently the “ebics” implementation is incomplete and does not
+ support authentication.
+
+EXCHANGE WIRE FEE OPTIONS
+-------------------------
+
+For each supported wire method (i.e. “x-taler-bank” or “sepa”), sections
+named “[fees-METHOD]” state the (aggregate) wire transfer fee and the
+reserve closing fees charged by the exchange. Note that fees are
+specified using the name of the wire method, not by the plugin name. You
+need to replace “YEAR” in the option name by the calendar year for which
+the fee should apply. Usually, fees should be given for serveral years
+in advance.
+
+WIRE-FEE-YEAR
+ Aggregate wire transfer fee merchants are charged in YEAR. Specified
+ as a Taler amount using the usual amount syntax
+ (CURRENCY:VALUE.FRACTION).
+
+CLOSING-FEE-YEAR
+ Reserve closing fee customers are charged in YEAR. Specified as a
+ Taler amount using the usual amount syntax (CURRENCY:VALUE.FRACTION).
+
+EXCHANGE COIN OPTIONS
+---------------------
+
+The following options must be in sections starting with ``"[coin_]"`` and
+are used by taler-exchange-keyup to create denomination keys.
+
+VALUE
+ Value of the coin, i.e. “EUR:1.50” for 1 Euro and 50 Cents (per
+ coin).
+
+DURATION_OVERLAP
+ How much should validity periods for these coins overlap?
+
+DURATION_WITHDRAW
+ How long should the same key be used for clients to withdraw coins of
+ this value?
+
+DURATION_SPEND
+ How long do clients have to spend these coins?
+
+FEE_WITHDRAW
+ What fee is charged for withdrawl?
+
+FEE_DEPOSIT
+ What fee is charged for depositing?
+
+FEE_REFRESH
+ What fee is charged for refreshing?
+
+FEE_REFUND
+ What fee is charged for refunds? When a coin is refunded, the deposit
+ fee is returned. Instead, the refund fee is charged to the customer.
+
+RSA_KEYSIZE
+ What is the RSA keysize modulos (in bits)?
+
+AUDITOR OPTIONS
+---------------
+
+The following options must be in section “[auditor]” for the Taler
+auditor.
+
+DB
+ Plugin to use for the database, i.e. “postgres”
+
+AUDITOR_PRIV_FILE
+ Name of the file containing the auditor’s private key
+
+AUDITOR POSTGRES BACKEND DATABASE OPTIONS
+-----------------------------------------
+
+The following options must be in section “[auditordb-postgres]” if the
+“postgres” plugin was selected for the database.
+
+CONFIG
+ How to access the database, i.e. "postgres:///taler" to use the
+ "taler" database. Testcases use “talercheck”.
+
+SEE ALSO
+========
+
+taler-exchange-dbinit(1), taler-exchange-httpd(1),
+taler-exchange-keyup(1), taler-exchange-wire(1).
+
+BUGS
+====
+
+Report bugs by using https://gnunet.org/bugs/ or by sending electronic
+mail to <taler@gnu.org>.