Scanning QR code is a basic Bitcoin wallet feature. We have a lot of advanced features, so it's a bit strange that we don't have this basic feature implemented already.
the recognition part is kind of easy (see https://github.com/micjahn/ZXing.Net), the hard part is getting video streams on all platforms we support... we could include OpenCV but that could be a huge dependency to use...
Did you explore all the possibilities and made this conclusion?
@nopara73 I did a preliminary research on all possible options... so far no managed library can give us access to all Camera API's. The only thing that we can do is make our own based on 3 platform's native camera API's and somehow harmonize those in one interface...
@lontivero https://github.com/zkSNACKs/WalletWasabi/issues/2309#issuecomment-533095992:
I've tried to implement this feature a couple of times before and the problem is that I couldn't find cross-platfom mechanism for getting input from the camera in dotnet core.
Duplicates: #731 #1254 #2309
We should leave only one issue open.
let's leave this one open @yahiheb and close the others.
The current policy is to not close duplicates. I'm open to change this, but bring it up properly on a dev meeting maybe and then we should remove the "duplicate" label, because that's why we have it.
Alright, so my suggestion is:
General concept ACK, of course.
@nopara73 should these libraries be imported into the /zksnacks/walletwasabi repo? Or to an new repo that is maintained by us too?
I suppose it depends on what libraries we'll end up using for this.
@nopara73 ideally we will just use the ff:
Windows: win32 built in webcam capture API: https://stackoverflow.com/questions/51204632/c-sharp-camera-capture-using-only-default-library
Linux: V4L2 API https://github.com/ZhangGaoxing/v4l2.net
OSX: No idea