a fundraising app. bare minimum is we need a way to give an app (1) a “view key” to a wallets contents and (2) an address for people to send grin to. that base level of accountability will let people see how close the wallet is to meeting its goal and if the person has withdrawn funds (ended the campaign)
View keys are there in the code of grin-wallet. Only there is no code or tool to export them or import them at the moment:
Support for Viewkeys is on the wishlist but not very high priority. See here the wishlist
For this we need a good payment proof system, preferably invoice payment proofs.
It is also on the wishlist, this one is high priority.
For now the focus is on PIBD (faster initial syncing of nodes/wallets) and probably on a GUI for grin-wallet. But it all depends. If another Developer joins who wants to work on these functionalities, work can suddenly go twice as fast and these other features can be there before you know it. For now we are happy to have Yaestplume/Michael around who is working on PIBD.
Fundraising is always possible. Actually, anyone can donate with in OP_RETURN statement a specific reason mentioned, or by contacting in another way before donating it is also possible to donate to a specific feature. This does however not always mean it will be implemented faster, it is a strong message but in the end developers work on what they want to work on, not only what the community asks for. Luckily this largely overlaps.
Regarding the total amounts, all funds and spending are public. You can find the total funds in thee quarterly transparency report: For the Grin Community Council:
We just started with a Developer section on Grin Hub.
I/we plan to extend this with more visual schematics and more links to relevant documentation. Getting started with something that links to the grin node grin-wallet or grin ++ is not that hard actually. Only if you want to change a core functionality, the bottleneck is that you have to understand Rust. I am now trying to go through that process myself and I have to say it is a bit challenging, I should follow a basic course in Rust to get up to speed. Rust is not something you can learn without someone explaining the underlying philosophy of the language.
Regarding the Venmo product, I think we have everything we need for that today already.
imagine if there is a matrix server like grinmo[dot]com or something
each user registers on that domain like @bob:grinmo.com and @alice:grinmo.com
bob and alice can send slatepacks back and forth by just sending to their @ names
the UI of the matrix client would then be focused on grin and slatepacks. for all intents and purposes, the UI would just seem like a wallet, not a messaging client. Honestly the UI could just copy venmo or cashapp straight up lol.
so you couldn’t send any arbitrary messages to each other. you just send or request slatepacks and those are rendered neatly like transactions. Each “room” in matrix could be one transaction (because with slatepacks you need multiple messages back and forth to “complete” them). So your transaction history is really just a list of matrix rooms. Maybe when a slatepack transaction completes, the matrix room gets archived (you can still see it, but maybe it’s in a different area).
Some are having difficulty getting donations or funds for things they want to work on. To me, what seems to be lacking in fundraising for Grin projects is a lack of transparency.
This product would be something that the Grin community could “dogfood” immediately with their own GrinCC projects.
If someone wanted to donate to a project right now, they don’t really know if it is already fully funded, or what the status is without asking. And if you simply ask, you’re just going off of someone’s word (unless it comes from the full community council where people keep each other accountable).
A fundraising app (or plugin or toolkit etc) would also enable people to work on projects outside of the purview of the CC and still be transparent with their donators.
What if each project gave the website its goal amount, address, and viewkey (project owner keeps the other keys of course). The website could then take that info and dynamically populate the project financial progress by doing a little ajax lookup to something like grinnode.live
If I understand correctly, when a proposal is made at first stage, one needs to fill a form, with goal amount/ address which should be stored in a db and progress of the project should be updated at later stages. There needs to be authentication/authorization to update specific project status also, so a backend is necessary. (Of course one can use firebase or a similiar third party service for data storage and authentication to avoid a backend but it would also need some work )