-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement clique sealing logic #44
Comments
Issue Status: 1. Open 2. Started 3. Submitted 4. Done This issue now has a funding of 2500.0 DAI (2500.0 USD @ $1.0/DAI) attached to it as part of the Görli Testnet Initiative fund.
|
Issue Status: 1. Open 2. Started 3. Submitted 4. Done Work has been started. These users each claimed they can complete the work by 2 weeks, 2 days ago. 1) shamardy has applied to start work (Funders only: approve worker | reject worker). I would like to work on this issue. I have experience working with Rust and Parity. I am also familiar with Clique and Golang. I can have a PR ready for review in a week. Learn more on the Gitcoin Issue Details page. 2) jwasinger has been approved to start work. Sealing has been implemented for parity in #29 and currently works: the client syncs to Goerli and Rinkeby, the client can function as a sealer (tested locally using Docker: openethereum/parity-deploy#82 ). The implementation is awaiting review and further testing. Learn more on the Gitcoin Issue Details page. |
this part is mostly in the code now, and it also heavily involved with other clique code,. I don't think it should/is possible to have someone else independently working on this. However, I really would like to see an refactoring of consensus module from other part of the parity codebase. the current consensus engine interface is very confusing, error prone and due to the crate layout, its compile time is ridiculous long and an change basically force everything else to recompile, would love to see someone understand and propose an new interface instead. It would be wonderful to be able to write/compile/test consensus engine independently from whole client and better unit integration support. |
Yes, I give this @jwasinger who already started working on this. |
@jwasinger Hello from Gitcoin Core - are you still working on this issue? Please submit a WIP PR or comment back within the next 3 days or you will be removed from this ticket and it will be returned to an ‘Open’ status. Please let us know if you have questions!
Funders only: Snooze warnings for 1 day | 3 days | 5 days | 10 days | 100 days |
If I understood you correct, this should be the same that I mentioned as "Task B" : eth-clients/goerli#9 (comment) I've not yet looked at the code, but I expect that this would take weeks to be completed. The result would be of course that the effort for newly implemented engines would be reduced. Not to mention the benefit of easier maintenance. |
It wasn't that bad. I think it's at most a weekend's work. I plan on doing that after I finish the code anyway. |
@jwasinger Hello from Gitcoin Core - are you still working on this issue? Please submit a WIP PR or comment back within the next 3 days or you will be removed from this ticket and it will be returned to an ‘Open’ status. Please let us know if you have questions!
Funders only: Snooze warnings for 1 day | 3 days | 5 days | 10 days | 100 days |
working sealing is implemented in 100b149 and the released in clique-v4 There are a few TODO here:
and I'm actually working on it |
Sealing was working around abc625d before the refactor.
This was already implemented pre-refactor inside
I haven't really had time to look at the code after the refactor but I guess a lot of stuff needs to be re-implemented. |
don't worry, I have reimplemneted it in latest change. |
Thanks. I will try to setup a network and test sealing these days |
This works for me. Two Parity Ethereum sealers and one Geth syncing the chain. There is one hiccup though, Geth seems to reject the first block with:
|
But afterwards this accepts the chain (after block #2)
|
Parity Sealer:
|
Good work. Next step would be sealing on Görli and see how this works out. This is my test genesis and chainspec: 9dbe5b3 |
@5chdn is this same issue with ethereum/go-ethereum#14945 ? |
Yes, it is! Otherwise it looks good! Was running for 24h without any issues. |
@jwasinger Hello from Gitcoin Core - are you still working on this issue? Please submit a WIP PR or comment back within the next 3 days or you will be removed from this ticket and it will be returned to an ‘Open’ status. Please let us know if you have questions!
Funders only: Snooze warnings for 1 day | 3 days | 5 days | 10 days | 100 days |
Issue Status: 1. Open 2. Started 3. Submitted 4. Done @jwasinger due to inactivity, we have escalated this issue to Gitcoin's moderation team. Let us know if you believe this has been done in error!
Funders only: Snooze warnings for 1 day | 3 days | 5 days | 10 days | 100 days |
Hi, I'm not sure how to proceed. Significant work towards sealing has been contributed by @thefallentree and myself. As such, it doesn't really make sense to have this whole bounty assigned to one participant. |
I'm addressing the final PR comments, so this will be done within next week |
@thefallentree @jwasinger I will pay you both a significant part of the parity clique bounty before I hand over this project to MP/ChainSafe. I'm sorry for the lack of communication recently but it was a rough ride. Please confirm that you are consent with paying out the bounty via Gitcoin? This is easiest for me, so all I need is your Github account to send it. |
I have reservations about the split here. @5chdn can we chat? |
Hello there @thefallentree, I'm MP, one of the three custodians. I am trying to help all parts be aligned. you can talk to me. What's the best way to reach you? |
@thefallentree If you are implying that I deserve less money for the work I have done, then I respectfully disagree. During this whole process, you have not been forthcoming in communication around code design and I feel like some of the refactoring was "forced" without actually having a discussion about it. When a refactor requires re-implementation of features that were previously working and introduces new issues, that creates additional work (see my DM regarding the consensus issue). Your refactor around sealing created issues and I disagreed with the design. I wanted to collaborate but you have made that excessively difficult. I cannot continue to hit a moving target if you dictate the direction without communication. I am happy with the amount I have received. The hours I have invested into this project are fairly reflected in that number. Jared |
Hey @jwasinger I dont think @thefallentree has said anything about you, but I'm committed to dig deeper. Of course we cannot weigh into your internal issues, and understand your PoV, Jared, and if its lack of communication what's preventing you from collaborating, we'll find you a new opportunity, and talk with Yucong separately to hear his concerns. Nevertheless, both parties are accordingly compensated, and Görli will not change anybody's compensation based on statements of others. |
Yeah, I have my issues with the communication around design. That being said, @thefallentree has been pushing very hard on this project and is a very important asset to Goerli. |
then it's not a refactoring. Refactoring is an Art, which can usually be performed only by "naturals". All others mess it up, and start reDESING / reIMPLEMENTATION. See, when I personally perform "The Art of Refactoring" (tiny steps, on code which is in production), then it is mostly sub-consciously driven: I cannot explain steps, cannot discuss, am kind of a semi-autistic lab-rat. having said that, I have reservations about the split, too: I should get the 15K for #50, the 2 devs here should split my 1K !!! $^%&#%^^@(&^(& . |
Hello @ALL to state honestly, i wrote with yucong before understanding some but not all, |
...kaizen, you runied my closing-joke!!! As for voting: this is for puppies. A fight to the death, winner takes it all! |
@lazaridiscom @jwasinger I choose to not debat and furtuer your obvious trolling. However I will still talk with @mariapaulafn and be sure my case is preseneted clearly. I will reconsider if in the future I still want to invovle in goerli project after that. And congrats you two just made to my new blocked user list. Cheers. |
a) Try "Thank you for the payment" as an intro, next time. Next time just negotiated clearly before(!) you start work, thus you won't need to have "reservations" afterwards. And may I remind you that this is a public project, with a public grant and public processing: I protest that this is discussed in private. I'll die from curiosity!!! . |
It's a shame that my attempt to engage in honest conversation was instantly shut down. But I guess I can't expect any less given our past history of "collaboration". |
No worries. At the end, even lava cools down. |
@lazaridiscom please drop this chat. you have no say on this conversation and are distracting the real parties that need to express their opinion, this is a warning. |
I think both @jwasinger and @thefallentree have expressed fair concerns, and also jared's been open to communication. Thank you both, and we will make sure to hear all voices. The decision to fund both contributors alike stands, and will not change. I ask you to stop focusing on each other's compensation and contributions, and focus on your own. We assessed this fairly and YES, by accepting your compensation it means you accept everything else. If you are not happy with something, then choose to reject all, and we'll listen. |
Naturally, I have a say here. The fact that you fail to see it does not change that. Funny thing, what a little bit authority and power can do to people. Warn as much as you want, couldn't care less! . |
@lazaridiscom there are two people here with issues, and i am trying to mediate. |
Obviously. |
@mariapaulafn you are wasting your time. Trolls gonna troll. |
Thanks for saving me, clown. |
I rewrote this comment a couple times, see next one for final version. |
since I can't seem to reach @mariapaulafn reliably, I have decided to make an public post for the record.
Since you don't seem to want to admit, thanks to git, it is all recorded in history. After the last commit by @jwasinger , the entire codebase is unable to compile for 2 weeks (it works before and I have implemented the syncing function, and explorer.goerli.net was using my version of parity.) . when on Jan 22 I reached out for current status, @jwasinger claim that he doesn’t know how to fix this compile issue, and he is unable to continue. As recorded in history, anyone can try checking out this commit and see if you can fix this compile error and test how sealing works. I trust that you will find that nothing is actually working, in fact what was working before has also been sabotaged. @jwasinger also has not written any comments about what he had implemented, what he didn't implement and what he plans to do next, in fact it wasn't even clear why half the code is the way it is, it is clearly unfinished. So, I claimed this issue on that day, and I consider that he has made 0 valuable contribution to the project on sealing implementation so far. After all, coding is not typing contest, you can't just copy paste stuff and claim that you did work. (It is clear that there was copy & pasting from authority round implementation, even if it clearly didn't make sense).
I've been working on this issue long before goerli is created. In fact, my first few commits is there to make it work with rinkbey. Any monetary compensation happened afterwards is an after fact , it is an incentive for delivery, it is not an employment contract, and so far it has been kept me going stronger in the project, until now. Please let the record show that I have 0 interest in how much money or compensation @jwasinger or anyone beside me get for his "effort" in other areas/project or whatever hourly rate * hours spent are. In fact, I congratulated @jwasinger on gitter after seeing that he have got an reward, good for him. But I do have an issue with rewarding this bounty to him. Because, yes, he has put in some hours for this project, sure, but the net result is 0. and Since this "reward" or "bounty" is for the delivery of "clique sealing implementation", of which, like I pointed it out in the above paragraph, I consider he has made 0 valuable contribution in total, beside claiming that he has done some "work" and checked in some code. To award such behavior is like saying typing junk into codebase is of equally valuable work that I delivered and I actually consider that this is a personal insult and slap of face to the work I put in (In fact I think it is an insult to me as a programmer in general, but that is just my own opinion.). I personally detest the attitude of "I have put in hours so I earn what I owe" in this context, because OSS is not an employment. no one owes anyone anything. What I also detest is that “you can only argue if you reject the award" as I am not recruited/employed by this award, rather this award is specifically created for incentivizing delivery. In my opinion. I designed, implemented and delivered working code by myself, I wrote high quality comments (I even wrote a mini design doc on how syncing/sealing code works in general, which is entirely new to parity codebase, because I spent hours tracing the code and figured it out, there was 0 documents) and I am currently running an official authority node using that code, with cost out of my own pockets. I consider that I am 100% fully qualified for this "bounty" as it is stated. However, as a project collaborator I had issue with the split decision and I am here to raise my point to whomever in charge. I urge whoever manage the funds for goerli project in the future to put in more thoughts on how to utilize it. I somewhat understand because of what @5chdn has apparently been going through something in the past few months, that he may not be 100% on point on what's happening, but that doesn't resolve the fact that the decision is flawed, and it hurt the project more deeply than helped. |
Hi @thefallentree give me some hours to read this (got a couple meetings first) and will give you an answer, both on gitter and here. |
This is slanderous and unnacceptable. Many statements made above are patently false. |
Lie. The client was sealing blocks (even as part of the CI) after I implemented it. |
Please clarify. |
Stop insulting contributors. I will remove offending comments here to secure the integrity of the project. If anyone thinks they personally received too much, please feel free to send it back to the goerli multi-sig wallet. |
Final statement from Görli:
Well, your attitude is not very OSS either, it's petty and wrong. Finger pointing is not OSS at all. Degradation instead of collaboration is not OSS either. Neither is questioning another person's income (however you wanna call it, this is income - and OSS is a job). And you owe people basic decency and respect.
Well, that's your opinion. Here nobody has expected anybody to work for free, we want to create a healthy sustainable community, and it involves incentives, salaries, bounties or how you wanna call it. It's still money for work. Pays rent. Period.
You are technically qualified, that's 110% accurate. But not suited for the best interests of our community and our vision. Therefore, we have made the hard decision to remove you from the organization to protect other contributors and our project's culture. We are deeply sorry for everyone that got upset by reading all this thread. My DMs and Gitter are open. OSS IS ABOUT CODE, BUT ALSO ABOUT BEING EXCELLENT TO EACH OTHER. |
a parity node should be able to seal valid blocks in a clique network according to spec
The text was updated successfully, but these errors were encountered: