cashubtc / nuts

Cashu protocol specifications https://cashubtc.github.io/nuts/
MIT License
143 stars 49 forks source link

Proposal: sunset cashu_wallet_spec file #36

Closed thunderbiscuit closed 1 year ago

thunderbiscuit commented 1 year ago

After some preliminary discussion on the Telegram channel, I wanted to open the discussion here and formally propose the cashu_wallet_spec file be removed from the repository. I see a few reasons for this:

  1. Its name suggest a specification (but for wallets only?) but in fact, given all the other formally numbered NUTs, it ends up being more of a high-level overview of the workflow a wallet might go through. It's named a spec but doesn't have the same structure/name of the other NUT. Feels confusing at first.
  2. The workflow it describes will tend to be more incomplete or more complex as additional optional NUTs are added and decisions need to be made as to whether those should be added to the file or not. It's like the little brother you need to decide if you invite to the party or not.
  3. It provides a second location where things might be defined and can create competing/inconsistent wording. An example of that currently exists between line 35 of cashu_wallet_spec and line 78 of NUT-00:

    35: Alice generates N random secret strings x by generating 128 random bits and encoding them base64 for each requested token. 78: secret is the secret message (no encoding standard)


Other considerations

I think that there isn't anything in that file that is not already in the NUTs, and it can therefore be safely removed, but careful review should be done before removing it in case it adds something that current implementations abide by but that is not defined in any given NUT.

There might also still be interesting/meaningful clarifications in that file that the NUTs could use. It's probably a good idea to make sure that the information gets integrated in the NUTs if need be rather than simply removed from the repo.

callebtc commented 1 year ago

Addressed in #49