This is a neat little article about R27's experience beginning open source development on P2Poolv2, but unfortunately, it doesn't explain much of what P2Poolv2 actually is:
Instead of relying on a central operator to track contributions and payouts , P2Poolv2 uses a peer-to-peer sharechain. The miners get to build their own block templates and verify everyone else’s work themselves, while still sharing the rewards. It fixes the trust problem without giving up the benefit of pooling.
If you go to the github page for the project, you can find a little lengthier explanation:
Mission: Replace pool operators with miners
P2Poolv2 is a peer-to-peer Bitcoin mining pool where miners coordinate directly and verify their rewards without centralized operators.
- Share chain with uncles - all your work is accounted for.
- Pay large miners in coinbase - non custodial solution for top N miners.
- Support transactions - pay all miners with atomic swaps by market makers.
- Market makers buy shares from smaller miners - earning virgin coins.
There is also a P2Poolv2 wiki which is helpful.
What I enjoyed about R27's article is that it gives a sense of how it feels to wrestle with figuring out version control software and workflow practices.
The most valuable habit I picked up was slowing down. Early on, I wanted to jump straight into implementation because writing code felt like progress. Most of the time, it wasn't. The maintainers repeatedly pushed me to understand the flow of data, messages, and control through the system before proposing changes.
I'm sure all the seasoned developers here will think this is obvious, but whenever I bump up against git, I find it very frustrating and since it is not super often, I usually have to relearn it.
https://twiiit.com/bitshala_org/status/2068903908194611602