View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0010735 | Taler | sandcastle (containerized demo deployment) | public | 2025-12-05 12:10 | 2025-12-10 11:54 |
| Reporter | Bohdan | Assigned To | Florian Dold | ||
| Priority | normal | Severity | minor | Reproducibility | have not tried |
| Status | resolved | Resolution | no change required | ||
| Target Version | 1.5 | ||||
| Summary | 0010735: Default setup of the sandcastle results in the incorrect creation of the merchant | ||||
| Description | I have build and run a sandcastle from demo-12 tag, then tried to pay the order on the newly created merchant, and it failed with next error 2025-12-04T20:23:33.089Z pay-merchant.ts INFO insufficient balance details: { "amountRequested": "KUDOS:5", "wireMethod": "x-taler-bank", "causeHint": "merchant-accept-insufficient", "balanceAgeAcceptable": "KUDOS:20", "balanceAvailable": "KUDOS:20", "balanceMaterial": "KUDOS:20", "balanceReceiverAcceptable": "KUDOS:20", "balanceExchangeDepositable": "KUDOS:20", "balanceReceiverDepositable": "KUDOS:20", "maxEffectiveSpendAmount": "KUDOS:20", "perExchange": { "https://exchange.demo.taler.net/": { "balanceAvailable": "KUDOS:20", "balanceMaterial": "KUDOS:20", "balanceExchangeDepositable": "KUDOS:20", "balanceAgeAcceptable": "KUDOS:20", "balanceReceiverAcceptable": "KUDOS:20", "balanceReceiverDepositable": "KUDOS:20", "maxEffectiveSpendAmount": "KUDOS:20", "missingGlobalFees": false, "causeHint": "merchant-accept-insufficient" } } } After further investigation, it was found that the keys of the exchanges have mismatch the one received with contract exchanges: [ { master_pub: 'SFJ6CEK7VDWXD5TXVYAHY15WQ2SPYNC26SCAGAQYR050KWCER3BG', priority: 1024, url: 'https://exchange.demo.taler.net/', max_contribution: 'KUDOS:5' } ], and the real one curl -s https://exchange.demo.taler.net/keys | jq .master_public_key "F80MFRG8HVH6R9CQ47KRFQSJP3T6DBJ4K1D9B703RJY3Z39TBMJ0" | ||||
| Steps To Reproduce | I assume if you try to build and run the sandcastle on the demo-12 tag, and then try to create and pay the order, you will get the same thing, except the actual demo.taler.net, as it will get the key from the exchange.demo.taler.net located in the same place... | ||||
| Tags | No tags attached. | ||||
|
|
This is not a bug! When you run sandcastle with the default settings, it creates a deployment that looks exactly like demo.taler.net, *including* the domain names, but *excluding* the key material (only available on the actual demo.taler.net server). If you first run the sandcastle in "demo" mode and then switch to some other domain (like taler.localhost), the merchant will already have the *container-internal* exchange.demo.taler.net key. There's not really any way around it, since it's a fundamental feature of sandcastle to provide the demo.taler.net setup (but also self-contained from inside the container, so we're pointing *.demo.taler.net to localhost *within* the container). |
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2025-12-05 12:10 | Bohdan | New Issue | |
| 2025-12-05 12:10 | Bohdan | Status | new => assigned |
| 2025-12-05 12:10 | Bohdan | Assigned To | => Florian Dold |
| 2025-12-07 11:05 | Christian Grothoff | Target Version | => 1.5 |
| 2025-12-10 11:53 | Florian Dold | Note Added: 0026859 | |
| 2025-12-10 11:54 | Florian Dold | Status | assigned => resolved |
| 2025-12-10 11:54 | Florian Dold | Resolution | open => no change required |