Taler for developers

Taler für Entwickler

Taler pour les développeurs

Taler per programmatori

Free

Frei

Libre

Free

Taler is free software implementing an open protocol. Anybody is welcome to inspect our code and integrate our reference implementation into their applications. Different components of Taler are being made available under different licenses. The Affero GPLv3+ is used for the Mint, the LGPLv3+ is used for reference code demonstrating integration with merchant platforms, and licenses like Apache/Mozilla/GPLv3+ are used for wallets and related customer-facing software. We are open for constructive suggestions for maximizing the adoption of this libre payment platform.

Taler ist freie Software, welche ein offenes Protokoll implementiert. Der Code ist frei verfügbar und jeder ist eingeladen unsere Referenzimplementierung in eigene Projekte zu übernehmen. Die unterschiedlichen Komponenten Talers sind unter verschiedenen Lizenzen erhältlich. Die Münzanstalt fällt unter Affero GPLv3+, Referenzcode, welcher die Integration mit Händlerplattformen demonstriert, läuft unter LGPLv3+ und die Geldbörsen sowie weitere Software auf Seiten der Endkunden verwenden Apache-/Mozilla- ähnliche GPLv3+. Wir sind offen für konstruktive Vorschläge und freuen uns über Beiträge, welche zur weiten Verbreitung dieser freien Bezahlplattform führen.

Taler est un logiciel libre exécutant un protocol ouvert. Vous êtes les bienvenus pour inspecter notre code et intégrer nos applications référence dans vos applications. Différents composants de Taler sont disponibles sous plusieurs licences. L'Affero GPLv3+ est utilisé pour la monnaie, le LGPLv3+ est utilisé pour le code référence montrant l'intégration sur des plateformes machandes, et des licences comme Apache/Mozilla/GPLv3+ sont utilisées pour les portefeuilles et le lien client-logiciel orienté. Nous sommes ouverts à toute suggestion constructive pour exploiter au maximum cette plateforme de paiement libre.

Taler è un free software che utilizza un protocollo aperto. Chiunque è benvenuto per esaminare il nostro codice e integrare le nostre implementazioni di riferimento nelle loro applicazioni. Diversi componenti di Taler sono stati resi disponibili sotto diverse licenze. Affero GPLv3+ è usata per la Mint, LGPLv3+ per il codice di riferimento che mostra l'integrazione con la piattaforma del venditore, e licenze come Apache/Mozilla/GPLv3+ sono usate per i portafogli e i relativi software di interfaccia dei clienti. Siamo aperti a suggerimenti costruttivi per massimizzare l'adozione di questa piattaforma di pagamento free.

RESTful

REST-basiert

Avec REST

RESTful

Taler is designed to work on the Internet. To ensure that Taler payments can work with restrictive network setups, Taler uses a RESTful protocol over HTTP or HTTPS. Taler's security does not depend upon the use of HTTPS, but obviously merchants may choose to offer HTTPS for consistency and because it generally is better for privacy compared to HTTP. Taler uses JSON to encode structure data, making it easy to integrate Taler with existing Web applications. Taler's protocol is documented in detail here.

Taler wurde zur Verwendung im Internet konzipiert. Um sicherzustellen, dass Bezahlvorgänge mit Taler auch in restriktiven Netzwerkumgebungen funktionieren können, verwendet Taler ein REST-basiertes Protokoll über HTTP oder HTTPS. Talers Sicherheit hängt nicht von der Verwendung von HTTPS ab, aber die Verwendung von HTTPS auf Seiten der Händler sollte aus Konsistenzgründen und aufgrund der besseren Privatsphäre, die HTTPS gegenüber HTTP bietet, erfolgen. Da Taler zur Kodierung von Datenstrukturen JSON verwendet, ist die Integration von Taler in existierende Webapplikationen sehr einfach. Das Taler-Protokoll ist im Detail hier dokumentiert.

Taler est conçu pour fonctionner sur Internet. Afin de s'asurer que les paiement Taler fonctionnent sur des installations réseaux restrictives, Taler utilise le protocole RESTful sur HTTP ou HTTPS. La sécurité Taler ne dépend pas de l'utilisation de HTTPS, mais naturellement les commerçants voudront choisir HTTPS pour l'uniformité et car c'est généralement meilleur pour la confidentialité comparé à HTTP. Taler utilise JSON pour coder les données structure, rendant Taler facile à intégrer avec des application Web existantes. Le protocole Taler est documenté en détail ici.

Taler è progettato per funzionare su Internet. Per assicurare che i pagamenti in Taler possano funzionare con configurazioni di rete ristrette, Taler usa un protocollo RESTful su HTTP o HTTPS. La sicurezza di Taler non dipende dall'uso di HTTPS, ma ovviamente i venditori possono scegliere di offrire HTTPS per maggior compattenza e perché è generalmente migliore per la privacy se paragonato a HTTP. Taler usa JSON per codificare i dati di struttura, rendendo facile integrare Taler con le già esistenti applicazioni web. Il protocollo usato da Taler è documentato nel dettaglio qui.

Code

Code

Code

Codice

Taler is currently primarily developed by a research team at Inria and TU Munich. However, contributions from anyone are welcome. Our Git repositories can be cloned using the Git and HTTP access methods against git.taler.net with the name of the respective repository. A list of public repositories can be found in our GitWeb.

Taler wird aktuell hauptsächlich von einer Forschergruppe bei Inria und der Technischen Universität München entwickelt. Trotzdem sind Beiträge von jedem wilkommen. Unser Git-Repository kann man sowohl über Git als auch über HTTP klonen, indem man auf git.taler.net mit dem entsprechenden Repository-Namen zugreift. Eine Liste von öffentlichen Repositories ist in unserem GitWeb zu finden.

Taler est actuellement principalement développé par une équipe de recherche à Inria et TU Munich. Néanmoins, les contributions de tous sont les bienvenues. Notre Stockage Git peut être cloné en utilisant les méthodes d'accès Git et HTTP sur git.taler.net avec le nom du stockage respectif. Une liste des lieux de stockage publics se trouve sur notre GitWeb.

Attualmente Taler è principalmente sviluppato da un team di ricercatori di Inria e TU Munich. Comunque, sono ben accetti contributi da parte di chiunque. Le nostre repository di Git possono essere clonate applicando il metodo d'accesso di Git e HTTP su questo link git.taler.net, con il nome della corrispettiva repository. Una lista delle repository pubbiche può essere trovata al nostro GitWeb.

Documentation

Dokumentation

Documentation

Documentazione

In addition to this website, the documented code and the API documentation, we are in the process of preparing a comprehensive design document which will be published here soon.

Zusätzlich zu dieser Webseite, dem dokumentierten Code und der API-Dokumentation bereiten wir ein umfassendes Design-Dokument vor, welches in Kürze hier verfügbar sein wird.

En supplément de ce site web, le documented code et l'API documentation, nous préparons un document exhaustif qui sera publié ici prochainement.

Oltre a questo sito, il codice documentato, e la documentazione API, siamo preparando un documento integrale di progettazione che sarà presto pubblicato qui.

Discussion

Diskussion

Discussion

Discurssione

We have a mailinglist for developer discussions. You can subscribe to it or read the list archive at http://lists.gnu.org/mailman/listinfo/taler.

Wir haben eine Mailingliste für Diskussionen mit den Entwicklern. Die Webseite der Liste zum eintragen als auch das Listenarchiv sind hier: http://lists.gnu.org/mailman/listinfo/taler.

Nous avons une liste pour le discours public des developers. On peut s'inscrire ou lire les archives à http://lists.gnu.org/mailman/listinfo/taler.

We have a mailinglist for developer discussions. You can subscribe to it or read the list archive at http://lists.gnu.org/mailman/listinfo/taler.

Taler system overview

Das Taler-System im Überblick

The Taler system consists of protocols and free software implementations between a number of actors as illustrated in the illustration on the right. Typical transactions involve the following steps:

system overview

  1. A customer instructs his bank to transfer funds from his account to the Taler mint (top left). In the subject of the transaction, he includes an authentication token from his electronic wallet. In Taler terminology, the customer creates a reserve at the mint.
  2. Once the mint has received the transfer, it allows the customer's electronic wallet to withdraw electronic coins. The electronic coins are digital representations of the original transfer. It is important to note that the mint does not learn the "serial numbers" of the coins in this process, so it cannot tell later which customer purchased what at which merchant. The use of Taler does not change the currency or the total value of the funds (except for fees which the mint may charge for the service).
  3. Once the customer has the digital coins in his wallet, the wallet can be used to spend the coins with merchant portals that support the Taler payment system and accept the respective mint as a business partner (bottom arrow). This creates a digital contract signed by the customer's coins and the merchant. Assuming courts accept cryptographic signatures, the customer can later use this digitally signed contract in a court of law to prove the exact terms of the contract and that he paid the respective amount. The customer does not learn the banking details of the merchant, and Taler does not require the merchant to learn the identity of the customer. Naturally, the customer can spend any fraction of his digital coins (the system takes care of customers getting change).
  4. Merchants receiving digital coins deposits the respective receipts that resulted from the contract signing with the customer at the mint to redeem the coins. The deposit step does not reveal the learn the details of the contract between the customer and the merchant or the identity of the customer to the mint in any way. However, the mint does learn the identity of the merchant via the provided bank routing information. The merchant can, for example when compelled by the state for taxation, provide information linking the individual deposit to the respective contract signed by the customer. Thus, the mint's database allows the state to enforce that merchants pay applicable taxes (and do not engage in illegal contracts).
  5. Finally, the mint transfers funds corresponding to the digital coins redeemed by the merchants to the merchant's bank account. The mint may combine multiple small transactions into one larger bank transfer. The merchant can query the mint about the relationship between the bank transfers and the individual claims that were deposited.
  6. Most importantly, the mint keeps cryptographic proofs that allow it to demonstrate that it is operating correctly to third parties. The system requires an external auditor, such as a government-appointed financial regulatory body, to frequently verify the mint's databases and check that its bank balance matches the total value of the remaining coins in circulation.
  7. Without the auditor, the mint operators could steal funds they are holding in reserve. Customers and merchants cannot cheat each other or the mint. If any party's computers are compromised, the financial damage is limited to the respective party and proportional to the funds they have in circulation during the period of the compromise.