diff options
author | tg(x) <*@tg-x.net> | 2017-01-19 16:10:35 +0100 |
---|---|---|
committer | tg(x) <*@tg-x.net> | 2017-01-19 16:10:35 +0100 |
commit | f6d6fdbb01b0ee90b2dafb615c1814588bd14d93 (patch) | |
tree | 09bddda329032197ca2e48c8e66fa328f6fcb3d3 /developers.html.j2 | |
parent | 08f40842ceb608e96d28a646d71044d2c83b34fb (diff) | |
download | www-f6d6fdbb01b0ee90b2dafb615c1814588bd14d93.tar.gz www-f6d6fdbb01b0ee90b2dafb615c1814588bd14d93.tar.bz2 www-f6d6fdbb01b0ee90b2dafb615c1814588bd14d93.zip |
i18n: rename template files
Diffstat (limited to 'developers.html.j2')
-rw-r--r-- | developers.html.j2 | 217 |
1 files changed, 217 insertions, 0 deletions
diff --git a/developers.html.j2 b/developers.html.j2 new file mode 100644 index 00000000..963b8f45 --- /dev/null +++ b/developers.html.j2 @@ -0,0 +1,217 @@ +<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>{{ _("Taler for developers") }}</h1> + </div> + + <!-- Example row of columns --> + <div class="row"> + <div class="col-lg-6"> + <h2>{{ _("Free") }}</h2> + + <p>{{ _("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> + </div> + <div class="col-lg-6"> + <h2>{{ _("RESTful") }}</h2> + + <p>{{ _("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> + </div> + </div> + <div class="row"> + <div class="col-lg-4"> + <h2>{{ _("Code") }}</h2> + + <p>{{ _("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> + </div> + <div class="col-lg-4"> + <h2>{{ _("Documentation") }}</h2> + + <p>{{ _("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> + </div> + <div class="col-lg-4"> + <h2>{{ _("Discussion") }}</h2> + + <p>{{ _("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> + </div> + </div> + + <div class="row"> + <div class="col-lg-4"> + <h2>{{ _("Regression Testing") }}</h2> + + <p>{{ _("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> + </div> + <div class="col-lg-4" note="not yet operational"> + <h2>{{ _("Code Coverage Analysis") }}</h2> + + <p>{{ _("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> + </div> + <div class="col-lg-4"> + <h2>{{ _("Performance Analysis") }}</h2> + + <p>{{ _("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> + </div> + </div> + + <div class="col-lg-12"> + <h2 id="overview">{{ _("Taler system overview") }}</h2> + + <p>{{ _("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> + + <img src="images/system.svg" alt="system overview" style="float: right; margin: 50px 5px 5px 5px;" width="50%"> + <ol> + <li>{{ _("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>{{ _("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>{{ _("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>{{ _("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>{{ _("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>{{ _("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>{{ _("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> + </ol> + <p></p> + </div> + <!--# include file="common/footer.inc" --> + </div> <!-- /container --> + </body> +</html> |