gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] [taler-docs] branch master updated (47adf02 -> 5c91c3f)


From: gnunet
Subject: [GNUnet-SVN] [taler-docs] branch master updated (47adf02 -> 5c91c3f)
Date: Wed, 18 Sep 2019 18:52:00 +0200

This is an automated email from the git hooks/post-receive script.

dold pushed a change to branch master
in repository docs.

    from 47adf02  docs (wallet, nfc)
     new e0ffb43  omit deep section names
     new af61db1  merchant backend api
     new 5c91c3f  manpages live here now

The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 _exts/taler_sphinx_theme/__init__.py     |  27 ++-
 _exts/tsref.py                           |   5 +-
 conf.py                                  | 124 ++++++-----
 core/api-merchant.rst                    |  36 +--
 index.rst                                |   1 +
 manindex.rst                             |   9 +
 manpages/taler-auditor-exchange.1.rst    |  60 +++++
 manpages/taler-auditor-sign.1.rst        |  63 ++++++
 manpages/taler-auditor.1.rst             |  55 +++++
 manpages/taler-bank-transfer.1.rst       |  72 ++++++
 manpages/taler-config-generate.1.rst     |  93 ++++++++
 manpages/taler-exchange-aggregator.1.rst |  47 ++++
 manpages/taler-exchange-benchmark.1.rst  |  63 ++++++
 manpages/taler-exchange-dbinit.1.rst     |  57 +++++
 manpages/taler-exchange-httpd.1.rst      | 101 +++++++++
 manpages/taler-exchange-keycheck.1.rst   |  49 +++++
 manpages/taler-exchange-keyup.1.rst      |  69 ++++++
 manpages/taler-exchange-wire.1.rst       |  46 ++++
 manpages/taler-exchange-wirewatch.1.rst  |  57 +++++
 manpages/taler-merchant-benchmark.1.rst  | 109 +++++++++
 manpages/taler-merchant-httpd.1.rst      |  63 ++++++
 manpages/taler.conf.5.rst                | 364 +++++++++++++++++++++++++++++++
 22 files changed, 1484 insertions(+), 86 deletions(-)
 create mode 100644 manindex.rst
 create mode 100644 manpages/taler-auditor-exchange.1.rst
 create mode 100644 manpages/taler-auditor-sign.1.rst
 create mode 100644 manpages/taler-auditor.1.rst
 create mode 100644 manpages/taler-bank-transfer.1.rst
 create mode 100644 manpages/taler-config-generate.1.rst
 create mode 100644 manpages/taler-exchange-aggregator.1.rst
 create mode 100644 manpages/taler-exchange-benchmark.1.rst
 create mode 100644 manpages/taler-exchange-dbinit.1.rst
 create mode 100644 manpages/taler-exchange-httpd.1.rst
 create mode 100644 manpages/taler-exchange-keycheck.1.rst
 create mode 100644 manpages/taler-exchange-keyup.1.rst
 create mode 100644 manpages/taler-exchange-wire.1.rst
 create mode 100644 manpages/taler-exchange-wirewatch.1.rst
 create mode 100644 manpages/taler-merchant-benchmark.1.rst
 create mode 100644 manpages/taler-merchant-httpd.1.rst
 create mode 100644 manpages/taler.conf.5.rst

diff --git a/_exts/taler_sphinx_theme/__init__.py 
b/_exts/taler_sphinx_theme/__init__.py
index 9ac8f38..2d3c61c 100644
--- a/_exts/taler_sphinx_theme/__init__.py
+++ b/_exts/taler_sphinx_theme/__init__.py
@@ -17,7 +17,8 @@ def setup(app):
     """Setup conntects events to the sitemap builder"""
     app.connect('html-page-context', add_html_link)
     app.connect('build-finished', create_sitemap)
-    app.set_translator('html', HTMLTranslator)
+    app.set_translator('html', MyHTMLTranslator)
+    app.set_translator('html-linked', MyHTMLTranslator)
     app.sitemap_links = []
     app.add_html_theme('taler_sphinx_theme', 
path.abspath(path.dirname(__file__) + "/guzzle_sphinx_theme"))
 
@@ -53,7 +54,7 @@ def html_theme_path():
     return [os.path.dirname(os.path.abspath(__file__))]
 
 
-class HTMLTranslator(SphinxHTMLTranslator):
+class MyHTMLTranslator(SphinxHTMLTranslator):
     """
     Handle translating to bootstrap structure.
     """
@@ -141,3 +142,25 @@ class HTMLTranslator(SphinxHTMLTranslator):
 
     def visit_container(self, node):
         self.body.append(self.starttag(node, 'div', CLASS='docutils'))
+
+    def add_secnumber(self, node):
+        # type: (nodes.Element) -> None
+        if node.get('secnumber'):
+            numbers = list(map(str, node['secnumber']))
+            if len(numbers) <= 3:
+                self.body.append('.'.join(numbers) + self.secnumber_suffix)
+        elif isinstance(node.parent, nodes.section):
+            if self.builder.name == 'singlehtml':
+                docname = self.docnames[-1]
+                anchorname = "%s/#%s" % (docname, node.parent['ids'][0])
+                if anchorname not in self.builder.secnumbers:
+                    anchorname = "%s/" % docname  # try first heading which 
has no anchor
+            else:
+                anchorname = '#' + node.parent['ids'][0]
+                if anchorname not in self.builder.secnumbers:
+                    anchorname = ''  # try first heading which has no anchor
+            if self.builder.secnumbers.get(anchorname):
+                numbers = list(self.builder.secnumbers[anchorname])
+                if len(numbers) <= 3:
+                    self.body.append('.'.join(map(str, numbers)) +
+                                     self.secnumber_suffix)
diff --git a/_exts/tsref.py b/_exts/tsref.py
index ae0e924..daeb08c 100644
--- a/_exts/tsref.py
+++ b/_exts/tsref.py
@@ -171,7 +171,10 @@ class LinkFilter(Filter):
                 defname = make_id('tsref-type-' + value);
                 t = copy_token(ttype)
                 if defname in id_to_doc:
-                    current_docname = self.app.builder._current_docname
+                    if hasattr(self.app.builder, "_current_docname"):
+                        current_docname = self.app.builder._current_docname
+                    else:
+                        current_docname = "(unknown-doc)"
                     docname = id_to_doc[defname]
                     uri = self.app.builder.get_relative_uri(current_docname, 
docname)
                     href = uri + "#" + defname
diff --git a/conf.py b/conf.py
index 7b1267a..832323b 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/core/api-merchant.rst b/core/api-merchant.rst
index 1a48dfa..25da91a 100644
--- a/core/api-merchant.rst
+++ b/core/api-merchant.rst
@@ -63,7 +63,8 @@ Receiving Payments
       order: MinimalOrderDetail | ContractTerms;
     }
 
-  The following fields of the `ContractTerms`_
+  The following fields must be specified in the ``order`` field of the 
request.  Other fields from
+  `ContractTerms`_ are optional, and will override the defaults in the 
merchant configuration.
 
   .. _MinimalOrderDetail:
   .. _tsref-type-MinimalOrderDetail:
@@ -1006,9 +1007,9 @@ both by the user's browser and their wallet.
     The response will include the `coin_pub` for which the payment failed,
     in addition to the response from the exchange to the `/deposit` request.
 
-  The `backend` will return verbatim the error codes received from the 
exchange's
+  The backend will return verbatim the error codes received from the exchange's
   :ref:`deposit <deposit>` API.  If the wallet made a mistake, like by
-  double-spending for example, the `frontend` should pass the reply verbatim to
+  double-spending for example, the frontend should pass the reply verbatim to
   the browser/wallet. This should be the expected case, as the `frontend`
   cannot really make mistakes; the only reasonable exception is if the
   `backend` is unavailable, in which case the customer might appreciate some
@@ -1019,36 +1020,13 @@ both by the user's browser and their wallet.
 
     interface PaymentResponse {
       // Signature on `TALER_PaymentResponsePS`_ with the public
-      // key of the instance in the proposal.
+      // key of the merchant instance.
       sig: EddsaSignature;
 
-      // Proposal data hash being signed over
-      h_proposal_data: HashCode;
-
-      // Proposal, send for convenience so the frontend
-      // can do order processing without a second lookup on
-      // a successful payment
-      proposal: Proposal;
+      // Contract terms hash being signed over.
+      h_contract_terms: HashCode;
     }
 
-
-  .. _tsref-type-Proposal:
-  .. code-block:: tsref
-
-    interface Proposal {
-      // The proposal data, effectively the frontend's order with some data 
filled in
-      // by the merchant backend.
-      data: ProposalData;
-
-      // Contract's hash, provided as a convenience.  All components that do
-      // not fully trust the merchant must verify this field.
-      H_proposal: HashCode;
-
-      // Signature over the hashcode of `proposal` made by the merchant.
-      merchant_sig: EddsaSignature;
-    }
-
-
   .. _PayRequest:
   .. code-block:: tsref
 
diff --git a/index.rst b/index.rst
index 8548e52..ca12d86 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 0000000..414dda5
--- /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 0000000..b7ef1d2
--- /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 <address@hidden>.
\ 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 0000000..b9c34fb
--- /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 <address@hidden>.
diff --git a/manpages/taler-auditor.1.rst b/manpages/taler-auditor.1.rst
new file mode 100644
index 0000000..e3742d9
--- /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 <address@hidden>.
diff --git a/manpages/taler-bank-transfer.1.rst 
b/manpages/taler-bank-transfer.1.rst
new file mode 100644
index 0000000..12944e6
--- /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 <address@hidden>
diff --git a/manpages/taler-config-generate.1.rst 
b/manpages/taler-config-generate.1.rst
new file mode 100644
index 0000000..f7fd1cc
--- /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 <address@hidden>.
diff --git a/manpages/taler-exchange-aggregator.1.rst 
b/manpages/taler-exchange-aggregator.1.rst
new file mode 100644
index 0000000..8f9afaa
--- /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 <address@hidden>.
diff --git a/manpages/taler-exchange-benchmark.1.rst 
b/manpages/taler-exchange-benchmark.1.rst
new file mode 100644
index 0000000..4ea2378
--- /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 <address@hidden>.
diff --git a/manpages/taler-exchange-dbinit.1.rst 
b/manpages/taler-exchange-dbinit.1.rst
new file mode 100644
index 0000000..b693e7f
--- /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 <address@hidden>.
diff --git a/manpages/taler-exchange-httpd.1.rst 
b/manpages/taler-exchange-httpd.1.rst
new file mode 100644
index 0000000..6c9977a
--- /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 <address@hidden>.
diff --git a/manpages/taler-exchange-keycheck.1.rst 
b/manpages/taler-exchange-keycheck.1.rst
new file mode 100644
index 0000000..6693b6e
--- /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 <address@hidden>.
diff --git a/manpages/taler-exchange-keyup.1.rst 
b/manpages/taler-exchange-keyup.1.rst
new file mode 100644
index 0000000..07a6b44
--- /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 <address@hidden>.
diff --git a/manpages/taler-exchange-wire.1.rst 
b/manpages/taler-exchange-wire.1.rst
new file mode 100644
index 0000000..22ab857
--- /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 <address@hidden>.
diff --git a/manpages/taler-exchange-wirewatch.1.rst 
b/manpages/taler-exchange-wirewatch.1.rst
new file mode 100644
index 0000000..8aaa50f
--- /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 <address@hidden>.
diff --git a/manpages/taler-merchant-benchmark.1.rst 
b/manpages/taler-merchant-benchmark.1.rst
new file mode 100644
index 0000000..b4a1af3
--- /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 <address@hidden>.
+
+
+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 0000000..0d12030
--- /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 <address@hidden>
+
+
+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 0000000..853f05c
--- /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 <address@hidden>.

-- 
To stop receiving notification emails like this one, please contact
address@hidden.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]