You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I think this is a fantastic idea on the journey to more production-quality software. The wallet being coupled with the client was always just for convenience, but really they don't belong together.
I'm concerned about over-optimization before it's actually needed however (this is still sort of a cool-but-side-project-software quality), so breaking this me.tb package into 3 libraries that all need to be maintained and published separately could be a good "in the long run" objective but is probably out of scope at the moment? (at least until the lib catches up with the spec 🤣🤣) . How do you feel about sort of "setting this up" by breaking the client away from the wallet and re-factoring the lib into different packages that would reflect this future move? Something like client, wallet, and types packages? This would help up stress-test the dependency graph between the 3 and help shape where it could go.
Today the lib does two things: talks to a mint following NUT specs and manages local wallet storage and proof management.
All apps will probably want to hit the APIs in the same way, while have more flexibility over proof management, persistence, etc.
Wondering if it would make sense to split the lib into:
client
: provides stateless APIs for talking to a mintwallet
: does wallet management for you, uses theclient
lib under the hoodtypes
: provides primitives defined in NUTs, used byclient
andwallet
. maybe it's optional but here, otherwiseclient
could expose those types.During our hackweek at Block we ran an issue where we wanted more flexibility over how proofs are managed under the hood.
@thunderbiscuit, curious if you have thoughts on this?
The text was updated successfully, but these errors were encountered: