Post
Topic
Board Wallet software
Re: New Desktop Wallet - I’d Really Appreciate Your Feedback!
by
angelo1oc
on 10/08/2024, 16:09:47 UTC
Hi Cricktor,
Thanks for your feedback.

As for point 1, I’ll definitely  going to look into it. I actually thought about it, in particular signing the HASH of the version with a PublicKey associated to an address on the blockchain which I hold, but ultimately decided on this first public version to go for something easier, but I’ll look into the project I’ve mentioned and see if it’s easier to implement and brings more guarantees.

In regards to the “browser” issues, you are correct, but this can be mitigated by the user with their choice of browser (an IOS, let’s say “tails”). I could eventually bake a browser into the code. As for the webserver I use Kestrel, which is an open source (https://github.com/dotnet/aspnetcore).

In regards to your third point, about the structure of the code (and the libraries I use), you are also correct, they are not on a “standard” project build tree, but there is a reason for it.

To develop the wallet I use a programing language called GeneXus (genexus.com) which I’ve been using for over 25 years. With it I’ve developed solutions currently used by hundreds of thousand of users on multiple industries, like education and pharmaceutical manufacturing, It’s a fantastic tool to build mission critical business application, the only problem is that is a “paid” development tool and it is not really open-source friendly, but at the end of the day, it “generates” C# code, which as you pointed out, is not standard, and is difficult to read, but the code it still there, everything the app does is in the source and with a little bit of effort anybody “fluent” on C# can understand what is doing and analyze the critical points (how the keys, encryption and communication is handled), and if you follow the instructions on the wiki you can build it yourselfer and use that version.
“pooya87”, made a point about the libraries that are include in the project, those libraries are generated by GeneXus, but that part is open-source, and here’s the link to them:

https://github.com/genexuslabs/DotNetClasses

I also use some other open-source libraries:

•   NBitcoin (https://github.com/MetacoSA/NBitcoin)
•   SecretSharingDotNet (https://github.com/shinji-san/SecretSharingDotNet)
•   GoogleAuthenticator (https://github.com/BrandonPotter/GoogleAuthenticator)
•   QRCoder (https://github.com/codebude/QRCoder)


Does this make sense?
I’m trying to be as transparent as possible with the tools I have :-)

Thanks again.