From e850dc09c49f11c4009039c53b810753e37e02c3 Mon Sep 17 00:00:00 2001 From: Marcello Stanisci Date: Fri, 27 Jul 2018 11:58:54 +0200 Subject: Make benchmark config file working. --- .gitignore | 7 +- src/benchmark/benchmark.conf | 137 +++++++++++++++++++++ src/benchmark/example.conf | 119 ------------------ .../.config/taler/account-2.json | 5 + .../share/taler/exchange/offline-keys/master.priv | 1 + src/benchmark/taler-exchange-benchmark.c | 7 +- 6 files changed, 154 insertions(+), 122 deletions(-) create mode 100644 src/benchmark/benchmark.conf delete mode 100644 src/benchmark/example.conf create mode 100644 src/benchmark/exchange_benchmark_home/.config/taler/account-2.json create mode 100644 src/benchmark/exchange_benchmark_home/.local/share/taler/exchange/offline-keys/master.priv diff --git a/.gitignore b/.gitignore index 4107ecd1e..8a10c094c 100644 --- a/.gitignore +++ b/.gitignore @@ -59,8 +59,11 @@ src/exchange-tools/taler-exchange-keyup src/exchange-tools/taler-exchange-wire src/exchangedb/perf-exchangedb src/benchmark/taler-exchange-benchmark -src/benchmark/test_benchmark_home/.local/share/taler/exchange/live-keys/ -src/benchmark/test_benchmark_home/.local/share/taler/exchange/wirefees/ +src/benchmark/auditor.in +src/benchmark/exchange_benchmark_home/.local/share/taler/exchange/live-keys/* +src/benchmark/exchange_benchmark_home/.local/share/taler/auditors/ +src/benchmark/exchange_benchmark_home/.local/share/taler/auditor/ +src/benchmark/exchange_benchmark_home/.local/share/taler/exchange/wirefees/* src/json/test_json src/wire-plugins/test_ebics_wireformat src/wire-plugins/test_wire_plugin diff --git a/src/benchmark/benchmark.conf b/src/benchmark/benchmark.conf new file mode 100644 index 000000000..4acffd8fd --- /dev/null +++ b/src/benchmark/benchmark.conf @@ -0,0 +1,137 @@ + +# This file is in the public domain. +# +[paths] +# Persistant data storage for the testcase +# This value is a default for `taler_config_home' +taler_test_home = exchange_benchmark_home/ + +[taler] +# Currency supported by the exchange (can only be one) +currency = EUR + +[exchange] +# how long is one signkey valid? +signkey_duration = 4 weeks +# how long are the signatures with the signkey valid? +legal_duration = 2 years +# how long do we provide to clients denomination and signing keys +# ahead of time? +lookahead_provide = 4 weeks 1 day +# HTTP port the exchange listens to +port = 8081 +# Master public key used to sign the exchange's various keys +master_public_key = 98NJW3CQHZQGQXTY3K85K531XKPAPAVV4Q5V8PYYRR00NJGZWNVG +# How to access our database +DB = postgres +# Base URL of the exchange. Must be set to a URL where the +# exchange (or the twister) is actually listening. +base_url = "http://localhost:8081/" +# Keep it short so the test runs fast. +lookahead_sign = 12 h + +[exchangedb-postgres] +config = "postgres:///talercheck" + +[account-2] +# What is the bank account (with the "Taler Bank" demo system)? +URL = "payto://x-taler-bank/localhost:8082/2" +# This is the response we give out for the /wire request. It provides +# wallets with the bank information for transfers to the exchange. +wire_response = ${TALER_CONFIG_HOME}/account-2.json +# Which wire plugin should we use to access the account? +plugin = taler_bank +# Authentication information for basic authentication +taler_bank_auth_method = "basic" +username = user +password = pass + +enable_debit = YES +enable_credit = YES + +[fees-x-taler-bank] +# Fees for the forseeable future... +# If you see this after 2017, update to match the next 10 years... +wire-fee-2018 = EUR:0.01 +wire-fee-2019 = EUR:0.01 +wire-fee-2020 = EUR:0.01 +wire-fee-2021 = EUR:0.01 +wire-fee-2022 = EUR:0.01 +wire-fee-2023 = EUR:0.01 +wire-fee-2024 = EUR:0.01 +wire-fee-2025 = EUR:0.01 +wire-fee-2026 = EUR:0.01 +wire-fee-2027 = EUR:0.01 + +closing-fee-2018 = EUR:0.01 +closing-fee-2019 = EUR:0.01 +closing-fee-2020 = EUR:0.01 +closing-fee-2021 = EUR:0.01 +closing-fee-2022 = EUR:0.01 +closing-fee-2023 = EUR:0.01 +closing-fee-2024 = EUR:0.01 +closing-fee-2025 = EUR:0.01 +closing-fee-2026 = EUR:0.01 +closing-fee-2027 = EUR:0.01 + +# Sections starting with "coin_" specify which denominations +# the exchange should support (and their respective fee structure) +[coin_eur_ct_1] +value = EUR:0.01 +duration_overlap = 5 minutes +duration_withdraw = 7 days +duration_spend = 2 years +duration_legal = 3 years +fee_withdraw = EUR:0.00 +fee_deposit = EUR:0.00 +fee_refresh = EUR:0.01 +fee_refund = EUR:0.01 +rsa_keysize = 1024 + +[coin_eur_ct_10] +value = EUR:0.10 +duration_overlap = 5 minutes +duration_withdraw = 7 days +duration_spend = 2 years +duration_legal = 3 years +fee_withdraw = EUR:0.01 +fee_deposit = EUR:0.01 +fee_refresh = EUR:0.03 +fee_refund = EUR:0.01 +rsa_keysize = 1024 + +[coin_eur_1] +value = EUR:1 +duration_overlap = 5 minutes +duration_withdraw = 7 days +duration_spend = 2 years +duration_legal = 3 years +fee_withdraw = EUR:0.01 +fee_deposit = EUR:0.01 +fee_refresh = EUR:0.03 +fee_refund = EUR:0.01 +rsa_keysize = 1024 + +[coin_eur_5] +value = EUR:5 +duration_overlap = 5 minutes +duration_withdraw = 7 days +duration_spend = 2 years +duration_legal = 3 years +fee_withdraw = EUR:0.01 +fee_deposit = EUR:0.01 +fee_refresh = EUR:0.03 +fee_refund = EUR:0.01 +rsa_keysize = 1024 + +[coin_eur_10] +value = EUR:10 +duration_overlap = 5 minutes +duration_withdraw = 7 days +duration_spend = 2 years +duration_legal = 3 years +fee_withdraw = EUR:0.01 +fee_deposit = EUR:0.01 +fee_refresh = EUR:0.03 +fee_refund = EUR:0.01 +rsa_keysize = 1024 diff --git a/src/benchmark/example.conf b/src/benchmark/example.conf deleted file mode 100644 index fba749fcb..000000000 --- a/src/benchmark/example.conf +++ /dev/null @@ -1,119 +0,0 @@ -[taler] -# Must be EUR, as refresh CMDs have hardcoded currency. -currency = EUR - -[paths] -# Apparently ignored by the bank. -taler_run = $HOME/run -taler_test_home = /tmp/taler_test_home - -[exchange] -base_url = http://localhost:18080/ -serve = tcp -port = 18080 - -# NOTE: this is the only value that cannot be -# generated on the fly, so it must be set beforehand. -master_public_key = VN3AZMENQAW2AWGY8SV7W9KF2ZG44GR904ADEWKT7K98FWBD0QWG -master_priv_file = ${TALER_RUN}/exchange/priv -db = postgres -lookahead_sign = 12 h - -[exchangedb] -wirefee_base_dir = ${TALER_TEST_HOME}/exchange/wirefees/ -auditor_base_dir = ${TALER_TEST_HOME}/auditor/sigs/ - -[exchangedb-postgres] -config = postgres:///talercheck - -[account-1] -url = payto://x-taler-bank/localhost:8080/2 -wire_response = ${TALER_TEST_HOME}/exchange/account-benchmark-2.json -plugin = taler_bank -taler_bank_auth_method = basic -username = Exchange -password = x -enable_debit = yes -enable_credit = yes - -[fees-x-taler-bank] -wire-fee-2018 = EUR:0.01 -wire-fee-2019 = EUR:0.01 -wire-fee-2020 = EUR:0.01 -wire-fee-2021 = EUR:0.01 -wire-fee-2022 = EUR:0.01 -wire-fee-2023 = EUR:0.01 -wire-fee-2024 = EUR:0.01 -wire-fee-2025 = EUR:0.01 -wire-fee-2026 = EUR:0.01 -wire-fee-2027 = EUR:0.01 -closing-fee-2018 = EUR:0.01 -closing-fee-2019 = EUR:0.01 -closing-fee-2020 = EUR:0.01 -closing-fee-2021 = EUR:0.01 -closing-fee-2022 = EUR:0.01 -closing-fee-2023 = EUR:0.01 -closing-fee-2024 = EUR:0.01 -closing-fee-2025 = EUR:0.01 -closing-fee-2026 = EUR:0.01 -closing-fee-2027 = EUR:0.01 - -[coin_eur_ct_1] -value = EUR:0.01 -duration_overlap = 5 minutes -duration_withdraw = 7 days -duration_spend = 2 years -duration_legal = 3 years -fee_withdraw = EUR:0.00 -fee_deposit = EUR:0.00 -fee_refresh = EUR:0.01 -fee_refund = EUR:0.01 -rsa_keysize = 1024 - -[coin_eur_ct_10] -value = EUR:0.10 -duration_overlap = 5 minutes -duration_withdraw = 7 days -duration_spend = 2 years -duration_legal = 3 years -fee_withdraw = EUR:0.01 -fee_deposit = EUR:0.01 -fee_refresh = EUR:0.03 -fee_refund = EUR:0.01 -rsa_keysize = 1024 - -[coin_eur_1] -value = EUR:1 -duration_overlap = 5 minutes -duration_withdraw = 7 days -duration_spend = 2 years -duration_legal = 3 years -fee_withdraw = EUR:0.01 -fee_deposit = EUR:0.01 -fee_refresh = EUR:0.03 -fee_refund = EUR:0.01 -rsa_keysize = 1024 - -[coin_eur_5] -value = EUR:5 -duration_overlap = 5 minutes -duration_withdraw = 7 days -duration_spend = 2 years -duration_legal = 3 years -fee_withdraw = EUR:0.01 -fee_deposit = EUR:0.01 -fee_refresh = EUR:0.03 -fee_refund = EUR:0.01 -rsa_keysize = 1024 - -[coin_eur_10] -value = EUR:10 -duration_overlap = 5 minutes -duration_withdraw = 7 days -duration_spend = 2 years -duration_legal = 3 years -fee_withdraw = EUR:0.01 -fee_deposit = EUR:0.01 -fee_refresh = EUR:0.03 -fee_refund = EUR:0.01 -rsa_keysize = 1024 diff --git a/src/benchmark/exchange_benchmark_home/.config/taler/account-2.json b/src/benchmark/exchange_benchmark_home/.config/taler/account-2.json new file mode 100644 index 000000000..9cc111ab7 --- /dev/null +++ b/src/benchmark/exchange_benchmark_home/.config/taler/account-2.json @@ -0,0 +1,5 @@ +{ + "url": "payto://x-taler-bank/localhost:8082/2", + "salt": "3XRYW2ST30TZBCEZMVSQ7GR0SJKJRN8DS4FE6N9QC7A80CC24VRGATJKY6EDK1YZ2B58FF3M6M1V32V4DHRWFWHDV79PVV5B8AWE8YR", + "master_sig": "RBMASGA36N44QGMCZ3QJQF1RYDH23TGXYW7J0W2GSZE2GKAQ3RXM5AJTS9RQ5PPNDE7C9CMYN4874J4RV49023HBDH66SPFM2N7VJ18" +} \ No newline at end of file diff --git a/src/benchmark/exchange_benchmark_home/.local/share/taler/exchange/offline-keys/master.priv b/src/benchmark/exchange_benchmark_home/.local/share/taler/exchange/offline-keys/master.priv new file mode 100644 index 000000000..394926938 --- /dev/null +++ b/src/benchmark/exchange_benchmark_home/.local/share/taler/exchange/offline-keys/master.priv @@ -0,0 +1 @@ +p^-33XX!\0qmU_ \ No newline at end of file diff --git a/src/benchmark/taler-exchange-benchmark.c b/src/benchmark/taler-exchange-benchmark.c index 96a9a7485..40526af33 100644 --- a/src/benchmark/taler-exchange-benchmark.c +++ b/src/benchmark/taler-exchange-benchmark.c @@ -320,6 +320,10 @@ int main (int argc, char *const *argv) { + + unsetenv ("XDG_DATA_HOME"); + unsetenv ("XDG_CONFIG_HOME"); + struct GNUNET_OS_Process *compute_wire_response; struct GNUNET_CONFIGURATION_Handle *cfg; struct GNUNET_GETOPT_CommandLineOption options[] = { @@ -360,7 +364,7 @@ main (int argc, GNUNET_GETOPT_OPTION_END }; - + if (GNUNET_SYSERR == (result = GNUNET_GETOPT_run ("taler-exchange-benchmark", options, @@ -430,6 +434,7 @@ main (int argc, (compute_wire_response); GNUNET_assert + /* Takes care of dropping all tables. */ (GNUNET_OK == TALER_TESTING_prepare_exchange (cfg_filename, &exchange_url)); // never used, we do all via handle. -- cgit v1.2.3