diff options
author | Christian Grothoff <grothoff@gnunet.org> | 2023-03-11 05:55:53 +0100 |
---|---|---|
committer | Christian Grothoff <grothoff@gnunet.org> | 2023-03-11 05:55:53 +0100 |
commit | e22371d0415098c07b07c016a37d18800b138827 (patch) | |
tree | fed73f253719e2062cdb6c29ddb0d67c0ae7e53a | |
parent | b20910dcfb748c58bcea3b5eb22fef84a8e88251 (diff) | |
download | docs-e22371d0415098c07b07c016a37d18800b138827.tar.gz docs-e22371d0415098c07b07c016a37d18800b138827.tar.bz2 docs-e22371d0415098c07b07c016a37d18800b138827.zip |
remove duplicated chapters on taler-wallet
-rw-r--r-- | index.rst | 1 | ||||
-rw-r--r-- | taler-developer-manual.rst | 40 | ||||
-rw-r--r-- | taler-wallet-cli-manual.rst | 138 | ||||
-rw-r--r-- | taler-wallet.rst | 160 |
4 files changed, 164 insertions, 175 deletions
@@ -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 c348a1d5..49ffa250 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-wallet-cli-manual.rst b/taler-wallet-cli-manual.rst deleted file mode 100644 index 1a2efcb9..00000000 --- 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 2fa41d9e..f9a7f763 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 |