Just a brainstorming thread to get your thoughts on this, a wallet running in a browser will never be 100% secure, while a desktop wallet running from the sources might be. That is why I was thinking of a Python project that could be downloaded from GitHub and executed without compiling
I have experience in several languages, but I used Python for the first time in a few Algorand projects, I’m not an expert, so I could contribute to the project, but not maintain it
- what do you guys think?
- Would Python have the necessary foundation to create a user friendly product on Windows, Mac, Linux?
- Could it support Ledger across all platforms?
- Could it connect to dApps, via WalletConnect, for instance?
the main feature here is to ask for code signing… the downside of the web apps right now is that the delivered code is not code signed…
i am thinking for some time on how to make PWA app (awallet) to be run on desktop the way that person can be sure that it is delivered by the issuer of the application
i think it should be quite simple task as the code signing may be just some .sig extension to any files downloaded, but somehow i have not seen anywhere anything like it
Another problem with web apps is that Ledger relies on USB support, which is poorly supported, is experimental, and may be removed in the future
Could this be useful for converting a VUE web app to a desktop APP?
What about just run the docker image of AWallet, run on localhost, install the app as PWA, and you can have native desktop look&feel… This way you have to update the app manually by updating and re-running the image.
Electron runs in chromium so i think it is quite the same…
The main security issue is how the updates are served.
Most cryptocurrency users aren’t devs, if the procedure is too complicated they won’t use it. Having the browser (chromium) integrated into the package as well would also safeguard against malicious extensions and scripts installed in the main browser (which is not always Chrome or other Blink based browser, so with the USB issues)