“We are building the first Python-based implementation of the Mimblewimble protocol for the grin cryptocurrency. At the moment it is at the most early stage of development. Heavily based on the grin++ wallet.”
The way I would describe Grinvention, is as “a collection of Python scripts to easily play around with various components of Grin”. For example, a script to easily generate a grin wallet.
Why would a donation to Grinvention be useful for Grin as a project you might ask?
On the long run, Grinvention could become a full Python implementation of Mimblewimble.
On the short run, Grinvention provides useful code that can be easily modified for various purposes, or simply can be used to understand the various technical aspects of Grin. For example, the code can relatively easily be modified to generate a wallet using BIP39 passphrase protected seeds, or custom word lists (two requests made by community members to me in the past). In that sense mimblewimble.py is like what bitcoinlib and bip_utils Python libraries are for Bitcoin. These packages provides a Swiss army knife to play around with Bitcoin, greatly reducing the barrier for anyone to start using or learning Bitcoin. The reason why is simple. Python is a) the most popular programming language in the worl, and b) the most easy to learn and read programming language in the world.
Hence, having a similar Swiss army knife of scripts in Python to learn and program various Grin/mimblewimble components, is beneficial.
How to fund Grinvention?
After a lot of discussion we came to the conclusion that @renzokuken does not want to apply for any official Funding Request for various reasons, such as his believe that being-independent from the project and fully donation based is better for the project and for Grinvention even though it earns him much less. This donation based model does however create an obstacle since donations have been few, meaning there has been little financing for the work put in by@renzokuken.
What I want to discuss here is if the CC should make a donation to Grinvention, and if so how much.
Since this is a donation and not a funding request, the amount will most likely be modest and much less than he could get via an official funding request. Although we can attach a message such as “we would like to see functionalities XYZ”, these are not obligatory requirements or objectives since it would be a donation and not a funding request.
Taking in consideration the past work of @renzokuken, I think making a donation based on the merits of his work makes sense and is relatively low risk. Worst case scenario, we pay him for the work that he has already put in
My question to you as community members would be to ask your opinion about making such a donation. Do you think we should make a donation? How much should a donation be. What features would you like to see for Grinvention development?
Python Implementation will enhance Grin developer pool and ecosystem which we are lack of since years.
Practically ‘’ we will have more man power’', more wallet and node implementations are welcome. Grinventions already reached many milestones, let it be completed for the benefit of GRIN.
I support it.
Indeed, that would be minimum IMO. I was thinking along the line of 5000-10000 euro in BTC. If we like how the work goes, we can always consider making another donation.
Preferably the donation would be via BTC (Grinvention only accepts Grin for donations at the moment).
I support this as well, good idea to appreciate the work already done.
Donation amount based on hourly rate seems reasonable, but also we need to take into account the complexity of the project the dev is working on. Implementing mimblewimble core protocol in different language looks rather complex and ambitious.
Dear CC, and all other ツ friends. On behalf of Grinventions I’ll say that I really appreciate this initiative. Donation from CC will be accepted and I will be grateful for it.
Regarding the amount, donations to Grinventions are completely voluntary. The amount of work done is publicly visible and everyone can judge how much is it worth. I leave that matter to you, I will accept what you judge is fair.
Feel free to wait until features are delivered, Grinventions does not require any guarantees. We deliver to the Community and that is our primary goal. Payments from donations are extremely appreciated and boost our work, but are secondary.
Regarding the BTC payment, I can create BTC donation address. Some community members have raised an issue that developers should be paid at least partially in the technology they work on as a proof of dedication and belief in it. I agree with that and I declare 100% of donated BTC will be converted to ツ.
If it will help grin adoption and the funds exist, I’m all for it.
It might be out of scope but I am still dreaming of NFC payments on mobile phones. It would just be so cool on social media if you could show people how easy it is to transfer money from one person to the next without having to scan QR codes or rely on banks.
Also, it might be impossible but would love to see grin added in the apple & android wallets somehow too.
Imagine you write your backend in Python Flask or FastAPI and just import mimblewimble to process transactions and store them in your PostgreSQL database (mimblewimble-py is meant to be shipped with SQLAlchemy models for storing slates and all other required data).
I have been a big fan of this project since I first heard about it.
People were negative about Python when Rust came about. Everyone was all about native code. But I think Python has come back around in terms of momentum.
It’s a super readable language. It makes the logic very clear and thus harder to obscure that class of bugs.
And since we can now compile Python to web assembly, it opens up a whole array of use cases that was previously only suitable for Rust / C++
Even if it isn’t compiled to web assembly, there is a whole slew of python libraries that can be combined for profit:
I would definitely pay him, it’s a big and useful project which can help people understand how everything works and bring some new developers who can build something on top of this project. Thanks @renzokuken for doing this
The best work done is on things we’re interested in. I’m glad to see people investing their free time in this technology and @renzokuken is one of the people that takes initiative to do things they believe are good for this ecosystem.
Everybody knows Python, I think it has a great potential to attract more contributors with different ideas to use Grin. Python is written like pseudo-code it will also has educational value for people who wants to understand how Grin transactions work. I wholeheartedly support this proposal.
I completely understand why you are torn. I think it is important not to have unrealistic expectations for any addition to the project. Grin is Grin and has always been a good and usefull project. Sure a Python implementation will lower the threshold significantly and I can only say I would use it (already written some code with mimblewimble.py). Mimblewimble.py is just a very logical incremental step in building the Grin ecosystem, not a game changer or moonshot. Only time wil tell how many people will use it. Taking Bitcoin as a reference, there was significant use of Python libraries, so at least it has the potential to increase usage and understanding of Grin.