February 29, 2024
76.68 XMR
6 contributors
Hello! I'm mrcyjanek and I'm currently working on the Unnamed Monero Wallet (short: xmruw) that aims to be as portable as possible and as close to wallet2_api.h
as it is reasonably possible.
However, this project got much bigger than I initially expected and resulted in a project that is huge in size, but also has really large portability capabilities, after fighting for a couple days with Wayland implementation on SailfishOS I (with the help from Mister_Magister and NotKit) managed to run the first cryptocurrency wallet natively on SFOS (that is available on the app store of that os). More details and the origin story can be found in a blog post announcing the wallet.
I'm developing xmruw
with a few critical points in mind:
wallet2_api.h
as possible to eliminate things like overly complex state management as something that causes issues.I've decided to take the simplest path from wallet2_api.h
to the actual wallet UI, so instead of forking m2049r/cake implementation I've decided to use dart:ffi
to call the native functions - this made a lot of code unnecessary, and the part that was still required was mostly generated - so I call that a huge win. But not without it's own cost - I had to write a wrapper for wallet2_api.h
that would provide C headers instead of C++ - which meant writing a bunch of boilerplate code and implementing a couple of dart/flutter libraries, that gave birth to the foundation of the wallet
Website, Gitea, GitHub, Downloads
Features of the wallet include:
wallet2_api.h
functions calledWhile working on Unamed Monero Wallet, here is a non-comprehensive list of the things I want to accomplish in no particular order, as it doesn't make sense to separate some things.
monero_c
to all platforms that I have access to (Linux (glibc+musl), FreeBSD, iOS, MacOS, Windows) in an easily-reproducible way (single script and a docker environment)xmruw
available for all platforms (and I do mean all platforms) and in app stores (including play store, self-hosted f-droid repository, apple app store, .deb, and .rpm repository).Given the nebulous nature of development, I would prefer my milestones to be time-based. I prpose a milestone completion and subsequent payout once every month (after services rendered).
In addition to the above features mentioned in the scope of work, I propose an additional deliverable of a weekly report so my progress can be verified.
I'm proposing to work for 20 hours/week for 40$/hour
at a rate of ~125,14$/XMR
(according to open prices between 2024-02-17 and 2024-03-01 (date of writing) via CoinGecko) for 12 weeks, summing up to a total of ~76,68
XMR split into 3 payments of 25,56
XMR every 4 weeks.
At the end of each week, I'll comment a summary of what happened along the way and what tasks were done.
The library is there, it needs some love to be usable, cross platform and built in a reproducible fashion. ↩
Camera isn't fun, especially when being cross-platform is a goal, but supporting it is critical for URQRs. This isn't a milestone on it's own, but a topic that I'll research, do some PoC and come up with a solution, especially because getting camera to work is one task, then we need to scan qr the codes (and be very fast at it), so this milestone is more of "explore the possibilities" and come up with a reasonable plan for future regarding cross-platform camera support. ↩
View community discussion, comments, and proposal updates on GitLab
To be paid: 25.56
Completion date: 8 July 2024
To be paid: 25.56
Completion date: 31 August 2024
To be paid: 25.56
Completion date:
Funds Awarded: 25.56
Date: 17 July 2024
Funds Awarded: 25.56
Date: 4 September 2024
Funds Awarded:
Date: