Skip to content
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

Docs: good implementation guidelines #869

Open
plebhash opened this issue Apr 23, 2024 · 9 comments
Open

Docs: good implementation guidelines #869

plebhash opened this issue Apr 23, 2024 · 9 comments
Labels
documentation Improvements or additions to documentation

Comments

@plebhash
Copy link
Collaborator

today on the call @Fi3 suggested that we create a new doc file with good implementation guidelines

that would account for every implementation aspect that:

  • is not explicitly defined by the SV2 specs
  • maybe is implemented on SRI roles (maybe not)
@plebhash
Copy link
Collaborator Author

plebhash commented Apr 23, 2024

the first guideline:

pools shouldn't set difficulty targets for downstream channels based solely on the hashrate that the downstream reports, because the downsteram could simply lie in order to get a low difficulty target and later send too many shares (which technically constitutes a form of spam).

Instead, the pool should collect shares and slowly increase the difficulty target, just like it is done on the translator proxy implementation.

@plebhash
Copy link
Collaborator Author

@Fi3 do you have more ideas that could be added to the list here?

@plebhash plebhash added the documentation Improvements or additions to documentation label Apr 23, 2024
@pavlenex
Copy link
Collaborator

Instead, the pool should collect shares and slowly increase the difficulty target, just like it is done on the translator proxy implementation.

Is there a reason why this is doc and not actual pool to-do in SRI?

@Fi3
Copy link
Collaborator

Fi3 commented Apr 30, 2024

This is intended to be a doc of best-practice/guidelines that a pool implementer should follow. So things that not fit into specification but still important.

@Fi3
Copy link
Collaborator

Fi3 commented Apr 30, 2024

Like for example that thing about the token that you asked me before

@pavlenex
Copy link
Collaborator

Oh no, I understand that part, but to me this seems like a no-brainer that should be added to pool-role in SRI?

@Fi3
Copy link
Collaborator

Fi3 commented Apr 30, 2024

Considering what SRI pool is:

  • a way to test the stack
  • a way to show that sv2 spec can be implemented

And considering that pool is nowhere near being prod ready. This thing is for sure a nice to have. But given the resource that we have I don't think that we should do it now.

@pavlenex
Copy link
Collaborator

Yeah I am not implying this should be done now, but to me, if there's a feature that can be added to the pool and it's logical, there's no reason not to log it. I am confident more and more implementors will be interested in our Pool, and we shouldn't just treat it as a way to test a stack, it should allow basic functionality and be extendable by anyone willing to implement anything beyond basics.

@Fi3
Copy link
Collaborator

Fi3 commented Apr 30, 2024

Agree that we have to log it I wasnt' saying the contrary. About:

and we shouldn't just treat it as a way to test a stack, it should allow basic functionality and be extendable by anyone willing to implement anything beyond basics.

This is quite a big project right now make more sense focus on the libraries, that can be used to build the pool.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

No branches or pull requests

3 participants