Skip to content

Add architecture section to README - #2

Open
bibonix wants to merge 2 commits into
zold-io:masterfrom
bibonix:explain-architecture
Open

Add architecture section to README#2
bibonix wants to merge 2 commits into
zold-io:masterfrom
bibonix:explain-architecture

Conversation

@bibonix

@bibonix bibonix commented May 9, 2026

Copy link
Copy Markdown

Summary

Adds an ## Architecture section to README.md following the explain-architecture skill from yegor256/skills.

Five paragraphs, one architectural decision each, ordered from most far-reaching to most local:

  1. Zold wallet-as-file vs. blockchain — No consensus chain to download; the app only needs to fetch, validate, and push a single signed file per wallet, which minimises network round-trips and makes the app viable on high-latency cellular connections.
  2. RSA private key in iOS Keychain — Anything stored outside the Keychain (Core Data, iCloud backup) can be extracted from an unencrypted device backup; the Keychain is the only acceptable container for the signing key.
  3. Core Data bootstrapped in AppDelegate — The persistent store must be ready before any screen renders, and AppDelegate also receives applicationWillTerminate, giving the OS a chance to flush unsaved changes. The empty izolda.xcdatamodel marks the boundary where the Zold wallet schema must be introduced.
  4. UIKit storyboard for two-screen navigation — Segues between Entrance and Transactions are expressed in Main.storyboard so the transition graph is visible in Interface Builder without reading Swift source.
  5. Three Transactions operations locked to the node API — Send, Receive, and Migrate map exactly to the operations the Zold node HTTP API supports; adding a fourth requires a corresponding node API change first.

Test plan

  • Verify the Markdown renders correctly in the GitHub README preview.
  • Confirm each paragraph covers exactly one architectural decision.
  • Check that all hyperlinks resolve to their canonical pages.

https://claude.ai/code/session_01DdBsYxTpXKi9UwMensFqqy

@bibonix
bibonix force-pushed the explain-architecture branch from f31abec to 7302816 Compare May 10, 2026 15:04
@bibonix
bibonix force-pushed the explain-architecture branch from 7302816 to 768e303 Compare May 11, 2026 15:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants