Files
PalladiumWallet/docs/adr/0011-server-registry-and-discovery.md
davide b292590cdc docs: add docs-as-code process and one ADR per feature
docs/docs-as-code.md defines the workflow; docs/adr holds 31 ADRs
(retroactive, reconstructed from code and changelog) with a template and
index. docs/check-docs.sh validates ADR structure, index, cited code
paths, relative links and CLAUDE.md/AGENTS.md sync.
2026-11-03 09:45:51 +01:00

1022 B

0011. Server registry seeded by bootstrap list and peer discovery

  • Status: Accepted
  • Area: Network
  • Recorded: 2026-11-03 (retroactive: reconstructed from code, comments and changelog)

Context

The wallet needs a server without hardcoding a single point of failure, and users should be able to pick their own.

Decision

ServerRegistry starts from the profile's bootstrap servers, adds peers announced via server.peers.subscribe (missing ports fall back to profile defaults) and persists the list per network. The first entry is the default when the user specifies none. The last successfully connected server is stored in AppConfig.

Consequences

  • Works out of the box and survives bootstrap servers disappearing.
  • There is no multi-server pooling or cross-checking yet (listed as a limitation in SECURITY.md).
  • Discovered peers are unauthenticated hints; every response is still verified (0007).

References

  • src/Core/Net/ServerRegistry.cs
  • src/Core/Storage/AppConfig.cs