The exchange for the Taler payment system. Building this package on Slackware 15.0 requires: - Postgres 15.x or greater, slackbuilds.org has version 14.x. - Build a newer version of llvm, by setting CC=clang, and installing llvm from Slackware Current. - The pre-release version of Gnunet. Installing this package automatically creates a number of supporting system users for the exchange. All are listed in the 'taler-exchange' user group. The taler exchange runs in a system of services, and a postgres database must be configured to service them. The setup described here assumes postgres was installed with using 'Peer authentication' by default (omitting '-A md5' when running 'initdb' after postgres installation). Create the database and its users for system users which require it: ``` sudo -u postgres -- createuser taler-exchange-httpd sudo -u postgres -- createuser taler-exchange-aggregator sudo -u postgres -- createuser taler-exchange-closer sudo -u postgres -- createuser taler-exchange-transfer sudo -u postgres -- createuser taler-exchange-wirewatch sudo -u postgres -- createdb taler-exchange --owner taler-exchange-httpd ``` Initialize the database schema, which should also be done after upgrades: ``` sudo -u taler-exchange-httpd -- taler-exchange-dbinit ``` Grant the user access to their tables in the database: ``` sudo -u taler-exchange-httpd psql taler-exchange << EOF GRANT SELECT,INSERT,UPDATE ON ALL TABLES IN SCHEMA exchange TO "taler-exchange-aggregator"; GRANT SELECT,INSERT,UPDATE ON ALL TABLES IN SCHEMA exchange TO "taler-exchange-closer"; GRANT SELECT,INSERT,UPDATE ON ALL TABLES IN SCHEMA exchange TO "taler-exchange-transfer"; GRANT SELECT,INSERT,UPDATE ON ALL TABLES IN SCHEMA exchange TO "taler-exchange-wirewatch"; GRANT USAGE ON ALL SEQUENCES IN SCHEMA exchange TO "taler-exchange-aggregator"; GRANT USAGE ON ALL SEQUENCES IN SCHEMA exchange TO "taler-exchange-closer"; GRANT USAGE ON ALL SEQUENCES IN SCHEMA exchange TO "taler-exchange-transfer"; GRANT USAGE ON ALL SEQUENCES IN SCHEMA exchange TO "taler-exchange-wirewatch"; EOF ``` To have the taler system start and stop with your host, add to /etc/rc.d/rc.local: if [ -x /etc/rc.d/rc.taler-exchange ]; then /etc/rc.d/rc.taler-exchange start fi And to /etc/rc.d/rc.local_shutdown (creating if needed): if [ -x /etc/rc.d/rc.taler-exchange ]; then /etc/rc.d/rc.taler-exchange stop fi