aboutsummaryrefslogtreecommitdiff
path: root/developers.html
blob: acf8d768e65612bc46b068c6f62cdf3f8560389e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>GNU Taler - Developers</title>
    <meta name="description" content="">
      <!--# include file="common/header.inc" -->
  </head>
  <body class="en" onLoad="loadLang();">
    <div class="container">
      <!--# include file="common/navigation.inc" -->
      <!-- Jumbotron -->
      <div class="jumbotron">
        <h1 lang="en">Taler for developers</h1>
        <h1 lang="de">Taler f&uuml;r Entwickler</h1>
        <h1 lang="fr">Taler pour les développeurs</h1>
        <h1 lang="it">Taler per programmatori</h2>
        <h1 lang="es">Taler para programadores</h2>
      </div>

      <!-- Example row of columns -->
      <div class="row">
        <div class="col-lg-6">
          <h2 lang="en">Free</h2>
	  <h2 lang="de">Frei</h2>
	  <h2 lang="fr">Libre</h2>
	  <h2 lang="it">Free</h2>
	  <h2 lang="es">Libre</h2>
          <p lang="en">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 exchange, 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.
          </p>
          <p lang="de">Taler ist freie Software, welche ein offenes
	    Protokoll implementiert. Der Code ist frei verf&uuml;gbar
	    und jeder ist eingeladen unsere Referenzimplementierung in
	    eigene Projekte zu &uuml;bernehmen. Die unterschiedlichen
	    Komponenten Talers sind unter verschiedenen Lizenzen
	    erhältlich. Die Wechselstube f&auml;llt unter Affero
	    GPLv3+, Referenzcode, welcher die Integration mit
	    H&auml;ndlerplattformen demonstriert, l&auml;uft unter
	    LGPLv3+ und die Geldb&ouml;rsen sowie weitere Software auf
	    Seiten der Endkunden verwenden Apache-/Mozilla-
	    &auml;hnliche GPLv3+. Wir sind offen f&uuml;r konstruktive
	    Vorschl&auml;ge und freuen uns &uuml;ber Beitr&auml;ge,
	    welche zur weiten Verbreitung dieser freien
	    Bezahlplattform f&uuml;hren.
          </p>
	  <p lang="fr">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.
          </p>
	  <p lang="it">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 exchange, 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.
          </p>
          <p lang="es">Taler es software libre que utiliza un
            protocolo abierto. Cualquiera que lo desee es bienvenido a
            inspeccionar nuestro código e integrar nuestra implementación
            de referencia en sus aplicaciones.  Los diferentes componentes
            de Taler estaán disponibles bajo diferentes licencias. La
            licencia Affero GPLv3+ se usa para la casa de cambio, la
            licencia LGPLv3+ para el código de referencia demostrando la
            integración con las plataformas de comercio, y licencias como
            Apache/Mozilla/GPLv3+ se usan para las billeteras y
            aplicaciones de cara al cliente.  Estamos abiertos a recibir
            sugerencias constructivas para maximizar la adopción de esta
            plataforma de pagos libre.
          </p>
        </div>
        <div class="col-lg-6">
          <h2 lang="en">RESTful</h2>
	  <h2 lang="de">REST-basiert</h2>
	  <h2 lang="fr">Avec REST</h2>
	  <h2 lang="it">RESTful</h2>
	  <h2 lang="es"> Basado en REST</h2>
	  <p lang="en">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 <a href="https://api.taler.net/">here</a>.
          </p>
	  <p lang="de">Taler wurde zur Verwendung im Internet
	    konzipiert. Um sicherzustellen, dass Bezahlvorg&auml;nge
	    mit Taler auch in restriktiven Netzwerkumgebungen
	    funktionieren k&ouml;nnen, verwendet Taler ein
	    REST-basiertes Protokoll &uuml;ber HTTP oder HTTPS. Talers
	    Sicherheit h&auml;ngt nicht von der Verwendung von HTTPS
	    ab, aber die Verwendung von HTTPS auf Seiten der
	    H&auml;ndler sollte aus Konsistenzgr&uuml;nden und
	    aufgrund der besseren Privatsph&auml;re, die HTTPS
	    gegen&uuml;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 <a href="https://api.taler.net/">hier</a>
	    dokumentiert.
          </p>
	  <p lang="fr">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 <a href="https://api.taler.net/">ici</a>.
          </p>
	  <p lang="it">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 <a href="https://api.taler.net/">qui</a>.
          </p>
	  <p lang="es">Taler esta diseñado para funcionar en
            Internet. Para garantizar que los pagos Taler pueden
            funcionar con configuraciones de redes restrictivas, Taler
            usa un protocolo REST sobre HTTP o HTTPS. La seguridad de
            Taler no depende del uso de HTTPS, aunque obviamente los
            comerciantes pueden ofrecer HTTPS para consistencia y
            porque es generalmente mejor para la privacidad comparado
            con HTTP. Taler usa JSON para codificar datos
            estructurados, lo que simplifica integrar Taler con
            aplicaciones web existentes.  El protocolo de Taler está
            documentado
            detalladamente <a href="https://api.taler.net/">aquí</a>.
          </p>
        </div>
      </div>
      <div class="row">
        <div class="col-lg-4">
          <h2 lang="en">Code</h2>
          <h2 lang="de">Code</h2>
          <h2 lang="fr">Code</h2>
          <h2 lang="it">Codice</h2>
          <h2 lang="es">Código</h2>
	  <p lang="en">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 <tt>git.taler.net</tt> with the name of
	    the respective repository. A list of public repositories
	    can be found in
	    our <a href="https://git.taler.net/">GitWeb</a>.
          </p>
	  <p lang="de">Taler wird aktuell haupts&auml;chlich von einer
	    Forschergruppe bei Inria und der Technischen
	    Universit&auml;t M&uuml;nchen entwickelt. Trotzdem sind
	    Beitr&auml;ge von jedem wilkommen. Unser Git-Repository
	    kann man sowohl &uuml;ber Git als auch &uuml;ber HTTP
	    klonen, indem man auf <tt>git.taler.net</tt> mit dem
	    entsprechenden Repository-Namen zugreift. Eine Liste von
	    &ouml;ffentlichen Repositories ist in unserem
	    <a href="https://git.taler.net/">GitWeb</a> zu finden.
          </p>
	  <p lang="fr">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 <tt>git.taler.net</tt> avec le nom du stockage
	    respectif. Une liste des lieux de stockage publics se
	    trouve sur
	    notre <a href="https://git.taler.net/">GitWeb</a>.
          </p>
	  <p lang="it">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 <tt>git.taler.net</tt>, con il nome della
	    corrispettiva repository. Una lista delle repository
	    pubbiche può essere trovata al nostro
	    <a href="https://git.taler.net/">GitWeb</a>.
          </p>
	  <p lang="es">Taler se desarrolla principalmente por un
	    equipo de investigación en Inria y TU Munich. Sin embargo,
	    las contribuciones de cualquiera son bienvenidas.
	    Nuestros repositorios Git se pueden clonar usando los
	    métodos de acceso Git y HTTP en <tt>git.taler.net</tt> con
	    el nombre del repositorio respectivo. La lista de
	    repositorios públicos puede verse
	    en <a href="https://git.taler.net/">GitWeb</a>.
          </p>
        </div>
        <div class="col-lg-4">
          <h2 lang="en">Documentation</h2>
	  <h2 lang="de">Dokumentation</h2>
	  <h2 lang="fr">Documentation</h2>
	  <h2 lang="it">Documentazione</h2>
	  <h2 lang="es">Documentación</h2>
          <p lang="en">In addition to this website,
            the <a href="https://git.taler.net/">documented
            code</a> and the <a href="https://api.taler.net/">API
            documentation</a>, we are in the process of preparing a
            comprehensive design document which will be published here
            soon.
          </p>
          <p lang="de">Zus&auml;tzlich zu dieser Webseite,
            dem <a href="https://git.taler.net/">dokumentierten
            Code</a> und
            der <a href="https://api.taler.net/">API-Dokumentation</a>
            bereiten wir ein umfassendes Design-Dokument vor, welches
            in K&uuml;rze hier verf&uuml;gbar sein wird.
          </p>
	  <p lang="fr">En supplément de ce site web, le
	    <a href="https://git.taler.net/">documented code</a> et
	     l'<a href="https://api.taler.net/">API documentation</a>,
	     nous préparons un document exhaustif qui sera publié ici
	    prochainement.
          </p>
	  <p lang="it">Oltre a questo sito,
	    il <a href="https://git.taler.net/">codice
	    documentato</a>, e
	    la <a href="https://api.taler.net/">documentazione API</a>,
	    siamo preparando un documento integrale di progettazione
	    che sarà presto pubblicato qui.
          </p>
          <p lang="es">Además de este sitio,
            la <a href="https://git.taler.net/">documentación en el
            código</a> y
            la <a href="https://api.taler.net/">documentación de la
            API</a>, estamos en proceso de elaborar documentación de
            diseño detallada, que será publicada aquí
            próximamente.
          </p>
        </div>
         <div class="col-lg-4">
          <h2 lang="en">Discussion</h2>
	  <h2 lang="de">Diskussion</h2>
	  <h2 lang="fr">Discussion</h2>
	  <h2 lang="it">Discussione</h2>
	  <h2 lang="es">Debates</h2>
          <p lang="en">We have a mailinglist for developer discussions.
            You can subscribe to it or read the list archive at
            <a href="http://lists.gnu.org/mailman/listinfo/taler">http://lists.gnu.org/mailman/listinfo/taler</a>.</p>
          <p lang="de">Wir haben eine Mailingliste f&uuml;r Diskussionen mit den Entwicklern.
            Die Webseite der Liste zum eintragen als auch das Listenarchiv sind hier:
            <a href="http://lists.gnu.org/mailman/listinfo/taler">http://lists.gnu.org/mailman/listinfo/taler</a>.</p>
          <p lang="fr">Nous avons une liste pour le discours public des developers.
            On peut s'inscrire ou lire les archives à
            <a href="http://lists.gnu.org/mailman/listinfo/taler">http://lists.gnu.org/mailman/listinfo/taler</a>.</p>
          <p lang="it">We have a mailinglist for developer discussions.
            You can subscribe to it or read the list archive at
            <a href="http://lists.gnu.org/mailman/listinfo/taler">http://lists.gnu.org/mailman/listinfo/taler</a>.</p>
          <p lang="es">Tenemos una lista de correos para debates de desarrolladores.
            Puedes suscribirte o leer el archivo de la lista en
            <a href="http://lists.gnu.org/mailman/listinfo/taler">http://lists.gnu.org/mailman/listinfo/taler</a>.</p>
        </div>
      </div>

      <div class="row">
        <div class="col-lg-4">
          <h2 lang="en">Regression Testing</h2>
	  <h2 lang="de">Regressionstests</h2>
	  <h2 lang="fr">Tests de régression</h2>
	  <h2 lang="it">Test delle regressioni</h2>
	  <h2 lang="es">Pruebas de regresión</h2>
          <p lang="en">We
            have <a href="https://buildbot.net/">Buildbot</a>
            automation tests to detect regressions and check for
            portability at
            <a href="https://buildbot.taler.net/">buildbot.taler.net</a>.
          </p>
          <p lang="de">Wir automatisieren Tests mit Hilfe
            von <a href="https://buildbot.net/">Buildbot</a> um
            Regressionen zu finden und den Code auf Portabilit&auml;t
            zu testen.  Die Ergebnisse sind unter
            <a href="https://buildbot.taler.net/">buildbot.taler.net</a> zu finden.
          </p>
          <p lang="fr">Des tests de régression automatiques ont été mis en place grace à
            <a href="https://buildbot.net/">Buildbot</a> et sont
            disponibles à
            <a href="https://buildbot.taler.net/">buildbot.taler.net</a>.
          </p>
          <p lang="it">E' disponibile
	    un <a href="https://buildbot.net/">Buildbot</a>
	    dedicato a test automatici per individuare regressioni e
	    controllare la portabilità, alla
	    pagina <a href="https://buildbot.taler.net/">buildbot.taler.net</a>.
          </p>
          <p lang="es">Tenemos test automatizados
            con <a href="https://buildbot.net/">Buildbot</a> para
            detectar regresiones y chequeos de portabilidad en
            <a href="https://buildbot.taler.net/">buildbot.taler.net</a>.
          </p>
        </div>
        <div class="col-lg-4" note="not yet operational">
          <h2 lang="en">Code Coverage Analysis</h2>
	  <h2 lang="de">Testabdeckungsanalyse</h2>
	  <h2 lang="fr">Mesure de couverture du code</h2>
	  <h2 lang="it">Analisi della copertura del codice</h2>
	  <h2 lang="es">Análisis de cobertura de código</h2>
          <p lang="en">We
            use <a href="http://ltp.sourceforge.net/coverage/lcov.php">LCOV</a>
            to analyze the code coverage of our tests, the results are
            available
            at <a href="https://lcov.taler.net/">lcov.taler.net</a>.
          </p>
          <p lang="de" note="outdated">Wir
            benutzen <a href="http://ltp.sourceforge.net/coverage/lcov.php">LCOV</a>
            um die Abdeckung unseres Codes durch unsere Tests zu
            verstehen. Die Ergebnisse sind unter
            <a href="https://lcov.taler.net/">lcov.taler.net</a> zu finden.
          </p>
          <p lang="fr"><a href="http://ltp.sourceforge.net/coverage/lcov.php">LCOV</a> est utilisé
            pour analyser la couverture du code par nos tests. Les résultats sont disponibles à
            <a href="https://lcov.taler.net/">lcov.taler.net</a>.
          </p>
          <p lang="it">I test effettuati sul software Taler subiscono
	    la misurazione della loro "copertura"
	    da <a href="http://ltp.sourceforge.net/coverage/lcov.php">LCOV</a>;
	    inoltre, tali risultati sono disponibili alla
	    pagina <a href="https://lcov.taler.net/">lcov.taler.net</a>.
          </p>
          <p lang="es">Usamos <a href="http://ltp.sourceforge.net/coverage/lcov.php">LCOV</a>
            para analizar la cobertura del código de nuestros tests,
            los resultados están disponibles en
            <a href="https://lcov.taler.net/">lcov.taler.net</a>.
          </p>
        </div>
        <div class="col-lg-4">
          <h2 lang="en">Performance Analysis</h2>
	  <h2 lang="de">Performanzanalyse</h2>
	  <h2 lang="fr">Analyse de performances</h2>
	  <h2 lang="it">Analisi delle prestazioni</h2>
	  <h2 lang="es">Performance</h2>
          <p lang="en">We
            use <a href="https://gnunet.org/gauger">Gauger</a> for
            performance regression analysis of the exchange backend
            at <a href="https://gauger.taler.net/">gauger.taler.net</a>.
          </p>
          <p lang="de">Wir
            benutzen <a href="https://gnunet.org/gauger">Gauger</a> um
            Performanzprobleme der Datenbankbackends der
            Wechselstube zu verstehen.  Die Ergebnisse sind
            unter <a href="https://gauger.taler.net/">gauger.taler.net</a>.
          </p>
          <p lang="fr">Nous
            utilisons <a href="https://gnunet.org/gauger">Gauger</a>
            pour une analyse des régression de performances du bureau
            de change, la parie serveur de Taler.  les résultats sont
            disponibles
            à <a href="https://gauger.taler.net/">gauger.taler.net</a>.
          </p>
          <p lang="it">Le prestazioni della ufficio cambi sono misurate attraverso
	    <a href="https://gnunet.org/gauger">Gauger</a>, e i
	    risultati disponibili alla pagina
	    <a href="https://gauger.taler.net/">gauger.taler.net</a>.
          </p>
          <p lang="es">Usamos <a href="https://gnunet.org/gauger">Gauger</a>
            para análisis de regresión del rendimiento del sistema
            backend (casa de cambio) en
            <a href="https://gauger.taler.net/">gauger.taler.net</a>.
          </p>
        </div>
      </div>

      <div class="col-lg-12">
        <h2 lang="en" id="overview">Taler system overview</h1>
        <h2 lang="de">Das Taler-System im &Uuml;berblick</h1>
        <h2 lang="fr">Vue d'ensemble de Taler</h2>
        <h2 lang="it">Schema generale del sistema Taler</h2>
        <h2 lang="es">Diagrama general del sistema Taler</h2>
        <p lang="en">The Taler system consists of protocols executed
          among a number of actors with the help
          of <a href="https://www.fsf.org/">Free Software</a> as
          illustrated in the illustration on the right.  Typical
          transactions involve the following steps:
        </p>
        <p lang="de">Das Taler System besteht aus Protokollen die von
          verschiedenen Teilnehmern unter Verwendung von
          <a href="https://www.fsf.org/">Freier Software</a>
          ausgef&uuml;hrt werden.  Die Illustration auf der rechten
          Seite veranschaulicht die folgenden f&uuml;r die
          Durchf&uuml;hrung einer Transaktion typischen Schritte:
        </p>
        <p lang="fr">Le system de Taler consiste de protocols exécutés
          entre plusieurs acteurs à l'aide
          de <a href="https://www.fsf.org/">Logiciel Libre</a>.  Une
          transaction typique comporte les étapes suivantes :
        </p>
        <p lang="it">Taler usa <a href="https://www.fsf.org/">software
	  libero</a> per realizzare i protocolli finalizzati alla
	  comunicazione tra i vari partecipanti come illustrato nella
	  figura a destra.  La tipica transazione nel modello Taler si
	  compone dei seguenti passaggi:
        </p>
        <p lang="es">El sistema Taler consta de protocolos entre varios actores con la ayuda de
          <a href="https://www.fsf.org/">Software Libre</a> como se ve
          en la figura de la derecha.  Las transacciones típicas
          consisten de los siguientes pasos:
        </p>
          <img src="images/system.svg" alt="system overview" style="float: right; margin: 50px 5px 5px 5px;" width="50%">
          <ol>
             <li lang="en">A customer instructs his <b>bank</b> to
               transfer funds from his account to the Taler exchange
               (top left).  In the subject of the transaction, he
               includes an authentication token from his
               electronic <b>wallet</b>. In Taler terminology, the
               customer creates a reserve at the exchange.
             </li>
             <li lang="de">Ein Kunde weist seine <b>Bank</b> an,
               Gelder aus seinem Konto an die Taler Wechselstube zu
               &uuml;bertragen (oben links).  Im Betreff gibt er ein
               von seiner elektronischen <b>Geldb&ouml;rse</b>
               erzeugtes Authentifizierungstoken an. In der
               Terminologie von Taler sagen wir, der Kunde legt eine
               Reserve bei der Wechselstube an.
             </li>
             <li lang="fr">Un client demande à sa <b>banque</b> de
               transfèrer des fonds de son compte en banque vers le
               bureau de change de Taler (en haut à gauche). Dans le
               sujet de la transaction, est inclus un jeton
               d'authentification du <b>porte-monnaie</b> électronique
               du client. Dans la terminologie de Taler, le client
               crée une réserve dans le bureau de change.
             </li>
             <li lang="it">Un cliente chiede alla sua <b>banca</b> di
	       trasferire fondi dal suo conto a quello della
	       ufficio cambi Taler (in alto a destra).  La causale di
	       questo trasferimento includerà l'informazione
	       necessaria, generata dal portafoglio elettronico
	       (<b>wallet</b>) compatibile col sistema Taler, ad
	       autenticare il cliente alla ufficio cambi (nota anche
	       come "exchange").  Nella terminologia adeguata, si dirà
	       che il cliente ha creato una riserva.
             </li>
             <li lang="es">El cliente instruye a su <b>banco</b> a
               transferir fondos de su cuenta a la casa de cambio
               Taler (arriba a la izquierda). En la referencia de la
               transacción incluye un token de autenticación de
               su <b>billetera</b> electrónica. En la terminología
               Taler, el cliente crea una reserva en la casa de
               cambio.
             </li>
             <li lang="en">Once the exchange has received the
               transfer, it allows the customer's electronic wallet
               to <b>withdraw</b> electronic coins.  The electronic
               coins are digital representations of the original
               currency from the transfer. It is important to note
               that the exchange does not learn the "serial numbers"
               of the coins created 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
               exchange may charge for the service).
             </li>
             <li lang="de" note="outdated">Sobald die Wechselstube den
               Transfer bekommen hat, erlaubt es der elektronischen
               Geldb&ouml;rse das <b>abheben</b> elektronischer
               M&uuml;nzen. Diese elektronischen M&uuml;nzen sind
               digitale R&auml;presentationen der urspr&uuml;nglichen
               W&auml;hrung der &Uuml;berweisung. Hierbei ist es
               wichtig, dass die Wechselstube nicht die
               "Seriennummern" der bei diesem Prozess erzeugten
               M&uuml;nzen lernt. Somit kann die Wechselstube
               sp&auml;ter nicht feststellen, welcher Kunde bei
               welchem H&auml;nlder was einkauft.  Die Benutzung von
               Taler &auml;ndert weder die W&auml;hrung noch den
               Gesamtwert (ausgenommen nat&uuml;rlich die
               Geb&uum;hren, die die Wechselstube f&uuml;r ihre
               Dienste verlangen k&ouml;nnte).
             </li>
             <li lang="fr">Une fois que le bureau de change a reçu le
               transfère, il permets au porte-monnaie électronique du
               client de <b>retirer</b> des pièces électroniques. Les
               pièces électroniques sont des représentations
               numériques des devises transfèrées initialement.  Il
               est important de noter que le bureau de change ne
               connait pas le "numéro de serie" des pièces ainsi
               crées, il luis sera donc impossible de savoir quel
               client a payer un marchant. L'utilisation de Taler ne
               change pas la devise ni la valeur totale des fonds (à
               l'exeption des frais que le bureau de change peut
               prendre comme son service).
             </li>
             <li lang="it">In seguito alla ricezione del trasferimento
	       da parte della ufficio cambi, il cliente
	       potrà <b>ritirare</b> i suoi gettoni elettronici.  Tali
	       gettoni sono rappresentazioni digitali dell'ammonto che
	       il cliente ha trasferitto alla ufficio cambi. E'
	       fondamentale notare che in questo processo la
	       ufficio cambi non apprende nessun "numero seriale" dei
	       gettoni coinvolti, in modo tale da non poter a
	       posteriori associare un certo cliente ad un certo
	       acquisto. Taler non interferisce dunque né con la
	       valuta né con l'ammonto presente nella riserva. L'unica
	       modifca apportata da Taler alla riserva è la
	       sottrazione da questa della tariffa del servizio.
             </li>
             <li lang="es">Una vez que la casa de cambio ha recibido
               la transferencia, permite que la billetera del
               cliente <b>retire</b> monedas electrónicas.  Las
               modedas electrónicas son representaciones digitales de
               la moneda original de la transferencia. Es importante
               destacar que la casa de cambio no registra los "números
               de serie" de los billetes creados en este proceso, por
               lo que no puede decir luego qué cliente compró qué cosa
               a qué comerciante.  El uso de Taler no cambia la cambio
               ni el valor total de los fondos (excepto por tasas de
               cambio que la casa de cambio pueda cobrar por este
               servicio).
             </li>
             <li lang="en">Once the customer has the digital coins in
               his wallet, the wallet can be used to <b>spend</b> the
               coins with merchant portals that support the Taler
               payment system and accept the respective exchange as a
               business partner (bottom arrow). This creates a digital
               contract signed by the customer's coins and the
               merchant.  If necessary, 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).
             </li>
             <li lang="de">Sobald der Kunde digitale M&uuml;nzen in
               seiner elektronischen Geldb&ouml;rse hat, kann er diese
               bei H&auml;ndlern die Taler unterst&uuml;tzen und die
               entsprechende Wechselstube
               akzeptieren <b>ausgeben</b>. Dabei wird ein Vertrag
               cryptographisch signiert durch die M&uuml;nzen des
               Kunden und den Schl&uuml;ssel des H&auml;ndlers.  Falls
               notwendig, kann der Kunde kann diesen Vertrag
               sp&auml;ter vor Gericht vorlegen als Beweis f&uuml;r
               den unterzeichneten Vertrag und die Zahlung des
               Betrages.  Der Kunde lernt hierbei nicht die
               Kontoinformationen des H&auml;ndlers, und Taler
               verlangt vom H&auml;ndler nicht, dass er die
               Identit&auml;t des Kunden bestimmt.  Nat&uuml;rlich
               kann der Kunde auch Bruchteile seines Barbestandes
               ausgeben (das System sorgt ggf.  daf&uuml;r das der
               Kunde wenn n&ouml;tig Wechselgelt erh&auml;lt).
             </li>
             <li lang="fr">Une fois que le client a les pièces dans
               sont porte-monnaie, celui-ci peut être utilisé
               pour <b>dépenser</b> les pièces avec un portail
               marchand qui supporte Taler comme systeme de payement
               et accepte le bureau de change comme partenaire
               commercial (flèche du bas). Celà crée un contract signé
               numériquement par le marchant et les pièces du
               client. Si celà s'avère nécéssaire, le client peut
               ensuite utiliser ce contract signé numériquement face
               au tribunaux pour prouver les termes exacts du contract
               et qu'il à payé le montant convenu. Le client n'a pas
               connaissance des coordonées banquaires du marchant, et
               Taler ne requière pas que le marchant ai connaissance
               de l'identité du client. Naturellement, le client peut
               dépenser seulement une partie de chaque pièce (le
               système se chargant de rendre la monnaie).
             </li>
             <li lang="it">Con i gettoni elettronici nel portafogli,
	       il cliente può <b>spendere</b> presso tutti i venditori
	       che accettano Taler tra i loro sistemi di pagamento, e
	       che sono disponibili a finalizzare l'operazione con la
	       stessa ufficio cambi che ha dato i gettoni al cliente
	       (freccia in basso).  Tecnicamente, ciò comporta la
	       creazione di un certificato firmato d'ambo le parti:
	       dal venditore e dalla chiave corrispondente al gettone
	       speso (vale la pena notare che un gettone, altro non è,
	       che una coppia di chiavi pubblica e privata). Assumendo
	       che i tribunali accettino firme elettroniche, un
	       cliente può utilizzare tale certificato per mostrare i
	       suoi termini esatti e che egli ha pagato la somma
	       dovuta. Ancora, il cliente non viene mai a conoscenza
	       degli estremi bancari del negoziante e, allo stesso
	       modo, Taler non richiede che il negoziante debba
	       conoscere l'identità del cliente. Naturalmente, il
	       cliente può anche spendere una frazione di uno dei suoi
	       gettoni, grazie alla facoltà che Taler ha di restituire
	       il cambio.
	     </li>
             <li lang="es">Una vez que el cliente tiene las monedas
               digitales en su billetera, puede usarla
               para <b>gastar</b> esas monedas con portales de
               comerciantes que acepten el sistema de pagos Taler y
               acepten a la casa de cambio referida como partner
               (flecha de abajo). Esto crea un contrato digital
               firmado por las monedas del cliente y el comerciante.
               De ser necesario, los clientes pueden llegar a usar
               este contrato firmado digitalmente ante la Justicia
               para probar los términos exactos del contrato y que se
               pagó la cantidad especificada. El cliente no dispone de
               los datos bancarios del comerciante, y Taler no
               requiere que el comerciante sepa la identidad del
               cliente. Naturalmente, el cliente puede gastar
               cualquier fracción de sus monedas digitales (el sistema
               se ocupa del proceso de obtener cambio).
             </li>
             <li lang="en">Merchants receiving digital
               coins <b>deposit</b> the respective receipts that
               resulted from the contract signing with the customer at
               the exchange to redeem the coins.  The deposit step
               does not reveal the details of the contract between the
               customer and the merchant or the identity of the
               customer to the exchange in any way. However, the
               exchange 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 exchange's database allows the
               state to enforce that merchants pay applicable taxes
               (and do not engage in illegal contracts).
             </li>
             <li lang="de" note="outdated">H&auml;ndler die digitale
               M&uuml;nzen erhalten <b>deponieren</b> die Belege aus
               dem Vertragsabschluss bei der Wechselstube um den
               Gegenwert zu erhalten. Beim Deponieren werden weder die
               Vertragsdetails zwischen Kunde und H&auml;ndler noch
               die Identit&auml;lt des Kunden der Wechselstube
               bekannt. Die Wechselstube lernt jedoch die
               Identit&auml;t des H&auml;ndlers da dieser seine
               Kontoinformationen im Klartext zur Verf&uuml;gung
               stellen muss.  Falls der Staat es sp&auml;ter verlangt,
               kann der H&auml;ndler beweisen, welcher Vertrag dem
               Depotvorgang zugrundelag, z.B.  damit der Staat die
               richtige Steuerkategorie bestimmen kann.  Somit
               erlaubten es die Informationen der Wechselstube dem
               Staat H&auml;ndler zum abf&uuml;hren von Steuern zu
               zwingen (und kriminelle Vertr&auml;ge entsprechend zu
               ahnden).
             </li>
             <li lang="fr">Les marchands recevant des pièces
               numériques les <b>déposent</b>, avec les reçus
               résultants des signatures du contract avec le client,
               auprès du bureau de change pour récupérer les
               pièces. L'étape de dépos ne révèle pas les détails du
               contract entre le client et le marchant ou l'identité
               du client au bureau de change de quelque façon que ce
               soit. Néanmoins, le bureau de change prends
               connaissance de l'identité du marchant grace au
               coordonées banquaires fournies pour le virement. Le
               marchant peut ensuite, par exemple lorsque l'état lui
               demande pour établire les taxes, fournir des
               informations reliant chaque dépos à son contrat
               spécifique, signé par le client. Ainsi La base de
               donnée du bureau de change permet à l'état de s'assurer
               que les marchants payent les taxes appliables (et ne
               s'engagent pas dans des activités illégales).
             </li>
             <li lang="it">Contemporaneamente alla firma dei contratti
	       viene creata una ricevuta che il negoziante
	       può <b>depositare</b> alla ufficio cambi al fine di
	       riavere indietro il corrispettivo in denaro del gettone
	       che ha ricevuto dal cliente. Il deposito non mette la
	       ufficio cambi nelle condizioni di apprendere i dettagli
	       del contratto tra il negoziante e il cliente, né
	       l'identità stessa del cliente. Ad ogni modo, la
	       ufficio cambi potrà (e dovrà) conoscere l'identità del
	       negoziante, dal momento che essa necessità dei suoi
	       estremi bancari necessari a finalizzare il
	       processo.
             </li>
             <li lang="es">Los comerciantes que reciben monedas electrónicas
               <b>depositan</b> los recibos respectivos resultantes de
               los contratos firmados con el cliente en la casa de
               cambio para canjear las monedas.  Al realizar el
               depósito no se revelan los detalles del contrato entre
               el cliente y la casa de cambio, de ninguna manera. Sin
               embargo, la casa de cambio sí conoce la identidad del
               comerciante a través de la información provista de
               ruteo al banco. El comerciante, por ejemplo cuando es
               requerido por el Estado para pagar impuestos, puede
               proveer información individual del respectivo contrato
               firmado por el cliente.  Así, la base de datos de la
               casa de cambio permite al Estado la imposición a los
               comerciantes de las tasas que corresponda aplicar (y
               revisar que los contratos no sean ilegales).
             </li>
             <li lang="en">Finally, the exchange transfers funds
               corresponding to the digital coins redeemed by the
               merchants to the merchant's <b>bank</b> account. The
               exchange may combine multiple small transactions into
               one larger bank transfer.  The merchant can query the
               exchange about the relationship between the bank
               transfers and the individual claims that were
               deposited.
             </li>
             <li lang="de">Abschlie&szlig;end &uuml;berweist die
               Wechselstube dem H&auml;ndler den entsprechenden
               Betrag auf sein <b>Bankkonto</b>.  Die Wechselstube
               k&ouml;nnte dabei mehrere kleine Transaktionen zu einem
               g&ouml;&szlig;erem Transfer zusammenfassen.  Der
               H&auml;ndler kann in diesem Fall bei der
               Wechselstube nachfragen, um Informationen zur
               Relation der Transfers und den dazugeh&ouml;rigen
               Depotvorg&auml;ngen zu erhalten.
             </li>
             <li lang="fr">Finalement, le bureau de change transfère
               les fonds correspondants aux pièces déposées par le
               marchant sur le compte en <b>banque</b> du marchant. Le
               bureau de change peut combiner plusieurs petites
               transactions en un transfère plus conséquant.  Le
               marchant peut demander auprès du bureau de change le
               lien entre chaque transfère banquaire et les dépos
               individuels effectués.
             </li>
             <li lang="it">Infine, la ufficio cambi trascferirà fondi
	       della stessa cifra dei gettoni riscattati dal negoziate
	       verso il conto in <b>banca</b> di quest' ultimo. Nulla
	       impedisce alla zezza di combinare molteplici piccole
	       transazioni in un unico bonifico verso il conto del
	       negoziante. Il negoziante può in ogni momento
	       interrogare la ufficio cambi sullo stato dei bonifici
	       che egli ha diritto a ricevere.
	     </li>
             <li lang="es">Por último, la casa de cambio transfiere
               los fondos correspondientes a las monedas digitales
               canjeadas por el comerciante a la cuenta
               de <b>banco</b> del comerciante.  La casa de cambio
               puede combinar múltiples transacciones pequeñas en una
               transferencia de banco más grande. El comerciante puede
               solicitarle a la casa de cambio la relación entre la
               transferencia bancaria y los operaciones individuales
               que se depositaron.
             </li>
             <li lang="en">Most importantly, the exchange keeps
               cryptographic proofs that allow it to demonstrate that
               it is operating correctly to third parties.  The system
               requires an external <b>auditor</b>, such as a
               government-appointed financial regulatory body, to
               frequently verify the exchange's databases and check that
               its bank balance matches the total value of the
               remaining coins in circulation.
             </li>
             <li lang="de">Die Wechselstube speichert
               kryptographische Beweise die es ihr erlauben,
               gegen&uuml;ber Dritten zu beweisen, dass Sie korrekt
               gearbeitet hat.  Es wird erwartet, dass die
               Wechselstube gegen&uuml;ber der Finanzaufsicht
               nachweisen muss, dass sie gen&uuml;gend R&uuml;cklagen
               zur Deckung aller noch ausstehenden M&uuml;nzen
               besitzt.
             </li>
             <li lang="fr">Plus important, le bureau de change
               conserve les preuves cryptographiques qui lui
               permettent de démontrer aux autres parties qu'il opère
               correctement.  Le systeme requiere un <b>auditeur</b>
               externe, tel q'une authorité de régulation financière
               gouvernementale, qui vérifie régulièrement la base de
               donnée du bureau de change et vérifie que son solde
               banquaire correspond à la valeur totale de toutes les
               pièces en circulation.
             </li>
             <li lang="it">E' importante notare che la ufficio cambi
	       mantiene prove crittografiche che le permettono di
	       dimostrare la sua buona fede verso terze
	       parti. Nell'architettura di Taler è prevista la
	       presenza di un <b>ispettore</b> esterno, come ad
	       esempio un apparato statale del fisco, che controlla
	       costantemente i database della ufficio cambi per
	       verificare che il suo bilancio corrisponda sempre alla
	       quantità di gettoni ancora in circolazione.
             </li>
             <li lang="es">Lo más importante es que la casa de cambio
               mantiene pruebas criptográficas que permiten demostrar
               a terceros que opera correctamente.  El sistema
               requiere un <b>auditor</b> externo, como una entidad de
               regulación financiera avalada por el gobierno, para
               verificar fecuentemente las bases de datos de la casa
               de cambio y chequear que su balance bancario coincide
               con el valor total de las monedas que hay en
               circulación.
             </li>
             <li lang="en">Without the auditor, the exchange operators
               could embezzle funds they are holding in
               reserve. Customers and merchants cannot cheat each
               other or the exchange. 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.
             </li>
             <li lang="de">Ohne die Finanzaufsicht w&auml;re es dem
               Betreiber der M&uuml;nzerei m&ouml;glich, Gelder aus
               der Reserve zu entwenden.  Wenn die Computer von einem
               der Teilnehmer kompromitiert werden, hat immer nur der
               kompromitierte Teilnehmer den finanziellen Schaden.
               Dieser ist weiterhin begrenzt auf den Gesamtumsatz mit
               Taler im fraglichen Zeitraum.
             </li>
             <li lang="fr">Sans auditeur, l'entité opérant le bureau
               de change pourrait voler les fonds que le bureau de
               change garde en réserve. Clients et marchants ne
               peuvent se voler l'un l'autre via le bureau de
               change. Si les ordinateurs d'une partie sont compromis,
               les dégas financiers sont limités a cette partie
               seulement et proportionels aux fonds qu'ils ont en
               circulation au moment de l compromission.
             </li>
             <li lang="it">L'assenza di taler ispettore metterebbe i
	       gestori della ufficio cambi nelle condizioni di
	       appropriarsi del denaro presente nelle sue riserve.
	       Clienti e negozianti non hanno la possibilità di
	       frodarsi a vicenda, né di frodare la ufficio cambi. Se
	       il computer di qualcuna delle parti viene compromesso,
	       la perdita finananziaria non tocca le altre parti ed è
	       proporzionale ai fondi che tale computer ha in
	       circolazione durante il periodo della compromissione.
	     </li>
             <li lang="es">Sin el auditor, los operadores de la casa
               de cambio podrían robar los fondos que mantienen en las
               reservas. Los clientes y comerciantes no pueden
               engañarse uno a otro, o a la casa de cambio. Si el
               ordenador de una de las partes se viera comprometido,
               el daño financiero se limita a la parte respectiva y
               proporcional a los fondos que tienen en circulación
               durante el período del inconveniente.
             </li>
          </ol>
        </p>
      </div>
      <!--# include file="common/footer.inc" -->
    </div> <!-- /container -->
  </body>
</html>