README (3666B)
1 Welcome to GNU Taler 2 3 4 What is Taler? 5 ============== 6 7 Taler is an electronic payment system providing the ability to pay 8 anonymously using digital cash. Taler consists of a network protocol 9 definition (using a RESTful API over HTTP), a Donau (which creates 10 digital coins), a Wallet (which allows donors to manage, store and 11 spend digital coins), and a Charity website which allows donors to 12 spend their digital coins. Naturally, each Charity is different, but 13 Taler includes code examples to help Charities integrate Taler as a 14 payment system. 15 16 Taler is currently developed by a worldwide group of independent free software 17 developers and Taler Systems SA. Taler is free software and an official GNU 18 package (https://www.gnu.org/). 19 20 This is an alpha release with a few known bugs, lacking a few important 21 features, documentation, testing, performance tuning and an external security 22 audit. However, you can run the code and it largely works fine. This package 23 also only includes the Taler donau, not the other components of the system. 24 25 Documentation about Taler can be found at https://taler.net/. 26 Our bug tracker is at https://bugs.taler.net/. 27 28 29 Joining GNU 30 =========== 31 32 This is a GNU program, developed by the GNU Project and part of the 33 GNU Operating System. If you are the author of an awesome program and 34 want to join us in writing Free Software, please consider making it an 35 official GNU program and become a GNU maintainer. You can find 36 instructions on how to do so at http://www.gnu.org/help/evaluation. 37 We are looking forward to hacking with you! 38 39 40 Dependencies: 41 ============= 42 43 These are the direct dependencies for running a Taler donau: 44 45 - GNUnet >= 0.19.0 46 - GNU libmicrohttpd >= 0.9.71 47 - PostgreSQL >= 13.0 48 49 50 51 Project structure is currently as follows: 52 53 src/include/ 54 -- installed headers for public APIs 55 56 src/util/ 57 -- common utility functions (currency representation, 58 Taler-specific cryptography, Taler-specific json 59 support) 60 61 src/pq/ 62 -- Postgres-specific utility functions 63 64 src/donaudb/ 65 -- Donau database backend (with database-specific plugins) 66 67 src/donau/ 68 -- taler donau server 69 70 src/donau-tools/ 71 -- taler donau helper programs 72 73 src/lib/ 74 -- libdonau: C API to issue HTTP requests to donau 75 76 src/json/ 77 -- helper functions for generating and parsing JSON 78 79 src/mhd/ 80 -- helper functions for interacting with GNU libmicrohttpd 81 82 src/curl/ 83 -- helper functions for interacting with libcurl 84 85 86 Getting Started 87 =============== 88 89 For Debian: 90 91 install depencendcies: 92 93 sudo apt install autoconf automake autopoint debhelper-compat gettext libbluetooth-dev libcurl4-gnutls-dev libextractor-dev libgcrypt20-dev libgnutls28-dev libidn2-dev libjansson-dev libltdl-dev libmicrohttpd-dev libogg-dev libopus-dev libpq-dev libpulse-dev libsodium-dev libsqlite3-dev libunistring-dev libzbar-dev miniupnpc net-tools po-debconf python3-dev texinfo zlib1g-dev libjose-dev librec1 recutils python3-sphinx-book-theme python3-msmb-theme 94 95 install GNUnet: 96 97 git clone https://git.gnunet.org/gnunet.git 98 cd gnunet 99 ./bootstrap 100 ./configure 101 make -j 4 102 sudo make install 103 104 install exchange: 105 106 git clone https://git.taler.net/exchange.git 107 cd exchange 108 ./bootstrap 109 ./configure 110 make -j 4 111 sudo make install 112 113 create psql database 'donaucheck': 114 115 systemctl status postgresql 116 systemctl start postgresql 117 sudo su - postgres 118 psql 119 create user #hostname; 120 DROP DATABASE donaucheck; 121 create database donaucheck with owner #hostname; 122 123 install donau: 124 125 ./bootstrap 126 ./configure 127 make 128 sudo make install 129 130 131 Validator App 132 ============= 133 134 A validation app for donau donation statements 135 is available at <git://git.taler.net/taler-android.git>.