[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[taler-docs] branch master updated (1e77ff7 -> 98e26cf)
From: |
gnunet |
Subject: |
[taler-docs] branch master updated (1e77ff7 -> 98e26cf) |
Date: |
Sat, 11 Mar 2023 07:53:00 +0100 |
This is an automated email from the git hooks/post-receive script.
grothoff pushed a change to branch master
in repository docs.
from 1e77ff7 debit info along the balance
new b20910d update slightly dated taler-merchant-pos-terminal manual
new e22371d remove duplicated chapters on taler-wallet
new 98e26cf update parts of the outdated information on licensing
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:
global-licensing.rst | 111 +++++++++++++++-------------
index.rst | 3 +-
taler-developer-manual.rst | 40 +++++-----
taler-merchant-pos-terminal.rst | 6 +-
taler-wallet-cli-manual.rst | 138 ----------------------------------
taler-wallet.rst | 160 +++++++++++++++++++++++++++++++++++-----
6 files changed, 226 insertions(+), 232 deletions(-)
delete mode 100644 taler-wallet-cli-manual.rst
diff --git a/global-licensing.rst b/global-licensing.rst
index ac5f748..4c9efaa 100644
--- a/global-licensing.rst
+++ b/global-licensing.rst
@@ -15,15 +15,30 @@ to integrate with Taler to be under LGPL, standalone
binaries and
testcases to be under GPL, and Web servers implementing Web services
to be under AGPL.
-+++++++++++++++++++++++++
-API (git://taler.net/api)
-+++++++++++++++++++++++++
-
-The specification has been jointly developed by INRIA and by individuals
+The project was initially started based on code and documentation from GNUnet
+e.V. and INRIA, and is continued to be developed by the GNUnet community and
+Taler Systems SA. INRIA and GNUnet e.V. have both assigned or shared their
+copyrights with Taler Systems SA. Thus, it should generally be said that the
+code is copyright Taler Systems SA.
+
+We are also working closely with the GNU Anastasis package. Here, the same
+copyright sharing is in place between the original developers from BFH and
+GNUnet e.V., except that the copyright was assigned or shared with Anastasis
+SARL. Agreements are in place that allows developers to freely move code
+between GNU Anastasis, GNUnet and GNU Taler if this is technically warranted
+(note that all developers must sign the GNUnet e.V. copyright contributor
+agreement).
+
+
+++++++++++++++++++++++++++++++
+API (git://git.taler.net/docs)
+++++++++++++++++++++++++++++++
+
+The specification has been originally developed by INRIA and by individuals
being under the juridical subject called 'GNUnet e.V.'. For each source
file, the header indicated whose is holding the copyright, since some
parts have been taken "verbatim" from the GNUnet e.V. foundation, and
-some other have been developed at INRIA "ex novo".
+some other have been developed at INRIA or Taler Systems SA "ex novo".
Generally, GNU GPLv3 license is used for them; see COPYING.GPL.
@@ -63,7 +78,7 @@ project, and gives the copyright holder for each of them:
WebExtensions Wallet (git://taler.net/wallet-webex)
+++++++++++++++++++++++++++++++++++++++++++++++++++
-The TypeScript code was developed 100% at INRIA, but the project
+The TypeScript code was originally developed at INRIA, but the project
involves compiling libgnunetutil and libtalerutil to JavaScript, and
thus depends on software from GNUnet e.V.
@@ -86,13 +101,13 @@ Note that these dependencies are compiled into the
extension and do
not appear as separate binary files.
-+++++++++++++++++++++++++++++++++++
-Merchant (git://taler.net/merchant)
-+++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++
+Merchant (git://git.taler.net/merchant)
++++++++++++++++++++++++++++++++++++++++
This project contains code under two different licenses, and whose
copyright is held by INRIA and/or GNUnet e.V.. Please refer to each
-source file to know which party holds the copyright.
+source file to know which party holds the original copyright.
Source files are located in the following directories:
@@ -105,25 +120,21 @@ Source files are located in the following directories:
* examples/shop/
* copylib/
-In examples/blog/articles/ we included a book by Richard Stallman.
-It comes with its own permissive license (see COPYING in the
-directory).
+The merchant's backend (i.e. all the code in src/backend/) is under the GNU
+Affero GPL. Note that the use of the Affero GPL has little impact as the
+backend is not supposed to be directly accessible to the Internet). The
+license for this code is in COPYING.GPL and COPYING.AGPL.
+The merchant's frontend logic (i.e. JavaScript interacting with
+the wallet, sample code for a shop) is under the GNU GPL.
-The merchant's backend (i.e. all the code in src/backend/) is under
-the GNU Affero GPL as it depends on libgnunetutil. Note that the use
-of the Affero GPL has little impact as the backend is not supposed to
-be directly accessible to the Internet). The license for this code is
-in COPYING.GPL and COPYING.AGPL.
+The merchant library (src/lib/) is under the Lesser GNU GPL as it can be
+linked with more diverse licensed software. The license text for this code is
+in COPYING.LGPL.
-The merchant's frontend logic (i.e. JavaScript interacting with
-the wallet, sample code for a shop) is under the GNU LGPL (but
-we may choose to change this to be in the public domain or
-BSD-licensed if necessary; the code is so short that there is
-anyway the question whether it is copyrightable). Under this same
-license, it comes the merchant library (src/lib/) as it can be linked
-with more diverse licensed software. The license text for this code
-is in COPYING.LGPL.
+In taler-merchant-demos.git/talermerchantdemos/blog/articles/ we included a
book
+by Richard Stallman. It comes with its own permissive license (see COPYING in
+the directory).
@@ -140,26 +151,18 @@ project, and gives the copyright holder for each of them:
* libgnunetutil (in all of its variants): GPLv3+, owned by GNUnet e.V.
* PHP: PHP License, AGPL- and LGPL-Compatible, owned by The PHP Group
-+++++++++++++++++++++++++++
-Bank (git://taler.net/bank)
-+++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++
+Libeufin (git://git.taler.net/libeufin)
++++++++++++++++++++++++++++++++++++++++
---------
Licensing
---------
-This project has been developed by INRIA. For each source file, the
-header indicated whose is holding the copyright. The licensing plan
-for the bank is to use the Affero GPLv3+.
-
-Source files of interest are located in the following directories:
-(The repository holds also scaffolded files autogenerated by Django,
-which do not have legal significance in this context.)
-
-* TalerBank/Bank/
-* TalerBank/Bank/templates/
-* TalerBank/my-static/
-* website/
+This project has been developed by Stanisci and Dold who are
+sharing their copyright with Taler Systems SA. For each source file, the
+header indicated whose is holding the copyright. The license is
+the Affero GPLv3+.
--------------------
Runtime dependencies
@@ -178,13 +181,14 @@ project, and gives the copyright holder for each of them:
.. _exchange-repo:
-+++++++++++++++++++++++++++++++++++
-Exchange (git://taler.net/exchange)
-+++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++
+Exchange (git://git.taler.net/exchange)
++++++++++++++++++++++++++++++++++++++++
-This component is based on code initially developed in Munich for
-GNUnet e.V. Most recent improvements and maintenance has been done at
-Inria. The copyright is thus shared between both institutions.
+This component is based on code initially developed in Munich for GNUnet
+e.V. but was significantly rewritten by INRIA. Most recent improvements and
+maintenance has been done at Taler Systems SA and BFH (under a copyright
+sharing agreement with GNUnet e.V.). The copyright is with Taler Systems SA.
The licensing for exported libraries to access the exchange is LGPL,
the exchange itself is under AGPL, and testcases and standalone
@@ -200,14 +204,17 @@ project, and gives the copyright holder for each of them:
* libjansson: MIT License, AGPL- and LGPL-Compatible, owned by Petri Lehtinen
and other individuals
* libgcrypt: LGPL, owned by Free Software Foundation
+* libsodium: LGPL
* postgresql: PostgreSQL License, AGPL- and LGPL-Compatible, owned by The
PostgreSQL Global Development Group
* libgnunetutil (in all of its variants): GPLv3+, owned by GNUnet e.V.
-* libgnunetjson: GPLv3+, GNUnet e.V.
+* libgnunetjson: LGPLv3+, GNUnet e.V.
+* libgnunetpq: AGPLv3+, GNUnet e.V.
+* libgnunetcurl: LGPLv3+, GNUnet e.V.
-+++++++++++++++++++++++++++++++++++++++++
-Web includes (git://taler.net/web-common)
-+++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++
+Web includes (git://git.taler.net/web-common)
++++++++++++++++++++++++++++++++++++++++++++++
All copyright owned by INRIA (but questionable whether creativity
threshold for copyright is even met).
diff --git a/index.rst b/index.rst
index 5ff11e4..aa49c4c 100644
--- a/index.rst
+++ b/index.rst
@@ -1,6 +1,6 @@
..
This file is part of GNU TALER.
- Copyright (C) 2014-2021 Taler Systems SA
+ Copyright (C) 2014-2023 Taler Systems SA
TALER is free software; you can redistribute it and/or modify it under the
terms of the GNU Affero General Public License as published by the Free
Software
@@ -59,7 +59,6 @@ Documentation Overview
taler-exchange-manual
taler-exchange-setup-guide
taler-merchant-manual
- taler-wallet-cli-manual
taler-merchant-api-tutorial
taler-merchant-pos-terminal
taler-auditor-manual
diff --git a/taler-developer-manual.rst b/taler-developer-manual.rst
index c348a1d..49ffa25 100644
--- a/taler-developer-manual.rst
+++ b/taler-developer-manual.rst
@@ -174,11 +174,12 @@ development.
Communication
-------------
-We use the #taler channel on the Freenode IRC network and the taler@gnu.org
-public mailinglist for discussions. Not all developers are active on IRC, but
-all developers should probably subscribe to the low-volume Taler mailinglist.
-There are separate low-volume mailinglists for gnunet-developers (@gnu.org)
-and for libmicrohttpd (@gnu.org).
+For public discussions we use the taler@gnu.org mailinglist. All developers
+should subscribe to the low-volume Taler mailinglist. There are separate
+low-volume mailinglists for gnunet-developers (@gnu.org) and for libmicrohttpd
+(@gnu.org). For internal discussions we use https://mattermost.taler.net/
+(invitation only, but also achieved).
+
What to put in bootstrap
------------------------
@@ -254,22 +255,19 @@ Language-Specific Guidelines
Taler Deployment on gv.taler.net
================================
-This section describes the GNU Taler deployment on ``gv.taler.net``.
-``gv`` is our server at BFH. It hosts the Git repositories, Web sites,
-CI and other services. Developers can receive an SSH account and
-e-mail alias for the system. As with Git, ask your primary team
-contact for shell access if you think you need it.
+This section describes the GNU Taler deployment on ``gv.taler.net``. ``gv``
+is our server at BFH. It hosts the Git repositories, Web sites, CI and other
+services. Developers can receive an SSH account and e-mail alias for the
+system, you should contact Javier, Christian or Florian. As with Git, ask
+your primary team contact for shell access if you think you need it.
-Our old server, ``tripwire``, is currently offline and will likely
-go back online to host ``production`` systems for operating real
-Taler payments at BFH in the future.
DNS
---
-DNS records for taler.net are controlled by the GNU Taler
-maintainers, specifically Christian and Florian. If you
-need a sub-domain to be added, please contact one of them.
+DNS records for taler.net are controlled by the GNU Taler maintainers,
+specifically Christian and Florian, and our system administrator, Javier. If
+you need a sub-domain to be added, please contact one of them.
User Acccounts
@@ -510,7 +508,7 @@ Database schema versioning
--------------------------
The PostgreSQL databases of the exchange and the auditor are versioned.
-See the 0000.sql file in the respective directory for documentation.
+See the ``versioning.sql`` file in the respective directory for documentation.
Every set of changes to the database schema must be stored in a new
versioned SQL script. The scripts must have contiguous numbers. After
@@ -518,7 +516,7 @@ any release (or version being deployed to a production or
staging
environment), existing scripts MUST be immutable.
Developers and operators MUST NOT make changes to database schema
-outside of this versioning.
+outside of this versioning. All tables of a GNU Taler component should live
in their own schema.
@@ -663,6 +661,8 @@ debian/changelog, and then run:
in the respective source directory (GNUnet, exchange, merchant) to create the
``.deb`` files. Note that they will be created in the parent directory. This
can be done on gv.taler.net, or on another (secure) machine.
+Actual release builds should be done via the Docker images
+that can be found in ``deployment.git`` under packaging.
On ``gv``, we use the ``aptbuilder`` user to manage the reprepro repository.
@@ -1472,7 +1472,9 @@ use when talking to end users or even system
administrators.
key used by the exchange to sign online messages, other than coins
order
- FIXME: to be written!
+ offer made by the merchant to a wallet; pre-cursor to
+ a contract where the wallet is not yet fixed. Turns
+ into a :term:`contract` when a wallet claims the order.
owner
a coin is owned by the entity that knows the private key of the coin
diff --git a/taler-merchant-pos-terminal.rst b/taler-merchant-pos-terminal.rst
index 356838f..b583336 100644
--- a/taler-merchant-pos-terminal.rst
+++ b/taler-merchant-pos-terminal.rst
@@ -53,6 +53,7 @@ At the bottom of the main UI there is a row of buttons:
* Prev: Goes to the previous order (if available).
* Next: Goes to the next order or creates a new one
if the current is not empty and there is no next.
+* Data entry: Enter a product name and price manually.
* Complete: Finalize an order and prompt the customer to pay.
The top left corner features a hamburger icon.
@@ -123,12 +124,9 @@ The elements of the JSON file are defined as follows:
.. ts:def:: BackendConfiguration
interface BackendConfiguration {
- // The URL to the Taler Merchant Backend
+ // The URL to the Taler Merchant Backend (including instance if
applicable)
base_url: string;
- // The name of backend instance to be used (see `Backend Options
<Backend-options>`)
- instance: string;
-
// The API key used for authentication
api_key: string;
}
diff --git a/taler-wallet-cli-manual.rst b/taler-wallet-cli-manual.rst
deleted file mode 100644
index 1a2efcb..0000000
--- a/taler-wallet-cli-manual.rst
+++ /dev/null
@@ -1,138 +0,0 @@
-GNU Taler Wallet CLI Manual
-###########################
-
-This manual describes how to use the GNU Taler wallet command line
-interface (CLI).
-
-The the wallet CLI is targeted at developers and operators, but not meant to be
-used by customers. It exposes all functionality that the more user-friendly
-interfaces (Android app, browser extension) offer. However, it provides more
-diagnostics and advanced features as well.
-
-Installation
-------------
-
-The easiest way to install the wallet is via NPM. Note that a recent version
of
-Node.JS (``>=12.20.1``) is required.
-
-We recommend to install the wallet package on a per-user basis.
-To do so, configure node and adjust your ``$PATH``:
-
-.. code-block:: console
-
- $ npm set prefix $HOME/.npm-global
- $ export PATH=$HOME/.npm-global:$PATH
-
-Now the wallet CLI can be installed without requiring elevated permissions:
-
-.. code-block:: console
-
- $ npm set prefix $HOME/.npm-global
- $ npm install -g @gnu-taler/taler-wallet-cli
- $ taler-wallet-cli --version
-
-
-Getting Help
-------------
-
-The wallet CLI comes with built-in help. Invoke the wallet CLI (or any
subcommand) with the ``--help`` flag to get help:
-
-.. code-block:: console
-
- $ taler-wallet-cli --help
- Usage: taler-wallet-cli COMMAND
-
- Command line interface for the GNU Taler wallet.
-
- Options:
- -h, --help Show this message and exit.
- --wallet-db=VALUE location of the wallet database file
- --timetravel=VALUE modify system time by given offset in microseconds
- --inhibit=VALUE Inhibit running certain operations, useful for
debugging and testing.
- --no-throttle Don't do any request throttling.
- -v, --version
- -V, --verbose Enable verbose output.
-
- Commands:
- advanced Subcommands for advanced operations (only use if
you know what you're doing!).
- api Call the wallet-core API directly.
- backup Subcommands for backups
- balance Show wallet balance.
- deposit Subcommands for depositing money to payto://
accounts
- exchanges Manage exchanges.
- handle-uri Handle a taler:// URI.
- pending Show pending operations.
- run-pending Run pending operations.
- run-until-done Run until no more work is left.
- testing Subcommands for testing GNU Taler deployments.
- transactions Show transactions.
-
-Completing operations
----------------------
-
-Note that the CLI does not run as a background daemon. When starting
-operations that don't immediately finish, the wallet needs to be run explicitly
-to finish any pending tasks:
-
-
-.. code-block:: console
-
- # Do one attempt to finish all pending operations
- $ taler-wallet-cli run-pending
-
- # Run until all work is done
- $ taler-wallet-cli run-until-done
-
-Resetting the wallet
---------------------
-
-The wallet can be reset by deleting its database file. By default, the
database file
-is ``$HOME/.talerwalletdb.json``.
-
-
-Handling taler:// URIs
-----------------------
-
-Many interactions with the Taler wallet happen by scanning QR codes or special
-headers on Websites. To emulate this with the command line interface, run the
following
-command:
-
-.. code-block:: console
-
- $ taler-wallet-cli handle-uri $URI
-
-
-Testing an exchange deployment
-------------------------------
-
-The following series of commands can be used to check that an exchange
deployment
-is functional:
-
-.. code-block:: console
-
- # This will now output a payto URI that money needs to be sent to in order
to allow withdrawal
- # of taler coins
- $ taler-wallet-cli advanced withdraw-manually --exchange $EXCHANGE_URL
--amount EUR:10.50
-
- # Show the status of the manual withdrawal operation
- $ taler-wallet-cli transactions
-
- # Once the transfer has been made, try completing the withdrawal
- $ taler-wallet-cli run-pending
-
- # Check status of transactions and show balance
- $ taler-wallet-cli transactions
- $ taler-wallet-cli balance
-
- # Now, directly deposit coins with the exchange into a target account
- # (Usually, a payment is made via a merchant. The wallet provides
- # this functionality for testing.)
- $ taler-wallet-cli deposit create EUR:5 payto://iban/$IBAN
-
- # Check if transaction was successful.
- # (If not, fix issue with exchange and run "run-pending" command again)
- $ taler-wallet-cli transactions
-
- # The wallet can also track if the exchange wired the money to the merchant
account.
- # The "deposit group id" can be found in the output of the transactions list.
- $ taler-wallet-cli deposit track $DEPOSIT_GROUP_ID
diff --git a/taler-wallet.rst b/taler-wallet.rst
index 2fa41d9..f9a7f76 100644
--- a/taler-wallet.rst
+++ b/taler-wallet.rst
@@ -1,18 +1,57 @@
-GNU Taler Wallet Developer Manual
-#################################
+GNU Taler Wallet Manual
+#######################
The GNU Taler wallet allows customers to withdraw and spend digital cash.
+
+WebExtension Wallet
+===================
+
+Building from source
+--------------------
+
+.. code-block:: console
+
+ $ git clone https://git.taler.net/wallet-core.git
+ $ cd wallet-core
+ $ ./configure
+ $ make webex-stable
+ # Packaged extension now available as:
+ # dist/taler-wallet-$VERSION.zip
+
+
+Android Wallet
+==============
+
+Please see :ref:`Build-apps-from-source` in the :doc:`taler-developer-manual`.
+
+
+iOS Wallet
+==========
+
+
.. _command-line-wallet:
Command-line Wallet
===================
-The command-line wallet is used primarily for testing by developers.
+This section describes how to use the GNU Taler wallet command line
+interface (CLI).
+
+The the wallet CLI is targeted at developers and operators, but not meant to be
+used by customers. It exposes all functionality that the more user-friendly
+interfaces (Android app, browser extension) offer. However, it provides more
+diagnostics and advanced features as well.
Building from source
--------------------
+The easiest way to install the wallet is via NPM. Note that a recent version
of
+Node.JS (``>=12.20.1``) is required.
+
+We recommend to install the wallet package on a per-user basis,
+thus setting ``$INSTALL_PREFIX`` to a directory in ``$HOME``.
+
.. code-block:: console
$ git clone https://git.taler.net/wallet-core.git
@@ -52,8 +91,78 @@ To use the wallet as a library in your own project, run:
$ npm install taler-wallet
+Getting Help
+------------
+
+The wallet CLI comes with built-in help. Invoke the wallet CLI (or any
subcommand) with the ``--help`` flag to get help:
+
+.. code-block:: console
+
+ $ taler-wallet-cli --help
+ Usage: taler-wallet-cli COMMAND
+
+ Command line interface for the GNU Taler wallet.
+
+ Options:
+ -h, --help Show this message and exit.
+ --wallet-db=VALUE location of the wallet database file
+ --timetravel=VALUE modify system time by given offset in microseconds
+ --inhibit=VALUE Inhibit running certain operations, useful for
debugging and testing.
+ --no-throttle Don't do any request throttling.
+ -v, --version
+ -V, --verbose Enable verbose output.
+
+ Commands:
+ advanced Subcommands for advanced operations (only use if
you know what you're doing!).
+ api Call the wallet-core API directly.
+ backup Subcommands for backups
+ balance Show wallet balance.
+ deposit Subcommands for depositing money to payto://
accounts
+ exchanges Manage exchanges.
+ handle-uri Handle a taler:// URI.
+ pending Show pending operations.
+ run-pending Run pending operations.
+ run-until-done Run until no more work is left.
+ testing Subcommands for testing GNU Taler deployments.
+ transactions Show transactions.
+
+Completing operations
+---------------------
+
+Note that the CLI does not run as a background daemon. When starting
+operations that don't immediately finish, the wallet needs to be run explicitly
+to finish any pending tasks:
+
+
+.. code-block:: console
+
+ # Do one attempt to finish all pending operations
+ $ taler-wallet-cli run-pending
+
+ # Run until all work is done
+ $ taler-wallet-cli run-until-done
+
+Resetting the wallet
+--------------------
+
+The wallet can be reset by deleting its database file. By default, the
database file
+is ``$HOME/.talerwalletdb.json``.
+
+
+Handling taler:// URIs
+----------------------
+
+Many interactions with the Taler wallet happen by scanning QR codes or special
+headers on Websites. To emulate this with the command line interface, run the
following
+command:
+
+.. code-block:: console
+
+ $ taler-wallet-cli handle-uri $URI
+
+
Manual withdrawing
-==================
+------------------
.. code-block:: console
@@ -61,26 +170,43 @@ Manual withdrawing
--exchange https://exchange.eurint.taler.net/ \
--amount EUR:5
-WebExtension Wallet
-===================
-Building from source
---------------------
+Testing an exchange deployment
+------------------------------
+
+The following series of commands can be used to check that an exchange
deployment
+is functional:
.. code-block:: console
- $ git clone https://git.taler.net/wallet-core.git
- $ cd wallet-core
- $ ./configure
- $ make webex-stable
- # Packaged extension now available as:
- # dist/taler-wallet-$VERSION.zip
+ # This will now output a payto URI that money needs to be sent to in order
to allow withdrawal
+ # of taler coins
+ $ taler-wallet-cli advanced withdraw-manually --exchange $EXCHANGE_URL
--amount EUR:10.50
+ # Show the status of the manual withdrawal operation
+ $ taler-wallet-cli transactions
+
+ # Once the transfer has been made, try completing the withdrawal
+ $ taler-wallet-cli run-pending
+
+ # Check status of transactions and show balance
+ $ taler-wallet-cli transactions
+ $ taler-wallet-cli balance
+
+ # Now, directly deposit coins with the exchange into a target account
+ # (Usually, a payment is made via a merchant. The wallet provides
+ # this functionality for testing.)
+ $ taler-wallet-cli deposit create EUR:5 payto://iban/$IBAN
+
+ # Check if transaction was successful.
+ # (If not, fix issue with exchange and run "run-pending" command again)
+ $ taler-wallet-cli transactions
+
+ # The wallet can also track if the exchange wired the money to the merchant
account.
+ # The "deposit group id" can be found in the output of the transactions list.
+ $ taler-wallet-cli deposit track $DEPOSIT_GROUP_ID
-Android Wallet
-==============
-Please see :ref:`Build-apps-from-source` in the :doc:`taler-developer-manual`.
APIs and Data Formats
--
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.
- [taler-docs] branch master updated (1e77ff7 -> 98e26cf),
gnunet <=