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

FIL Protocol & Network Parameters #1167

Open
yiannisbot opened this issue Sep 18, 2020 · 2 comments
Open

FIL Protocol & Network Parameters #1167

yiannisbot opened this issue Sep 18, 2020 · 2 comments

Comments

@yiannisbot
Copy link
Collaborator

yiannisbot commented Sep 18, 2020

There are several places in the spec where we refer to parameter values or settings. Examples include: parameters for rewards, fees and penalties, consensus protocol parameters, sizes (e.g., sectors) etc. These are all current settings and although some/most are stable and are not expected to change in the immediate future, the possibility is there. I see the following four options, but would like to get more ideas as well as the preferred way to tackle the issue:

  1. Presenting (hardcoding) the values in the spec text (i.e., in the section(s) where it is discussed) means that we have to change all the places in the spec where the parameter appears when changes occur.
  2. Alternatively, we can have a dedicated section, e.g., in the appendix where we present all these parameters. We still have to edit this section when changes occur, but at least it's in one place.
  3. A third option is to pull these parameters from the code repositories, but the problem is that the code itself might get restructured and therefore break the pointer.
  4. The optimal way would be to set the values in the spec as the source of truth and have the implementations pulling from there, but this is a big change that I suspect is difficult to do at this point in time.

cc: @anorth @nicola @zixuanzh

@anorth
Copy link
Member

anorth commented Sep 20, 2020

I think (2) is the least worst.

I think "Optimal" depends on your POV: (4) is the worst for me.

@yiannisbot
Copy link
Collaborator Author

I think "Optimal" depends on your POV: (4) is the worst for me.

Of course :) I've tagged (4) as the optimal from the point of view of having a single source of truth across all repositories.

Happy to go with the second option.

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

No branches or pull requests

2 participants