Closed DemiMarie closed 5 years ago
I think the parameters for spec.json
should be initialized in pos-contracts
repo.
Other parameters which are related to Parity should be initialized in the code in parity-ethereum
repo.
So, the suggestion is not to mix those.
@varasev What about parameters such as the initial validator set and the duration of the staking epoch?
Should those be in the bytecode of the initializer contract, or should they be in a separate place in spec.json
?
Those params must be written to the state of the contracts, so let's leave them in the Initializer contract.
@varasev Currently, those parameters are stored in a shell script and passed as environment variables. Would it be better to pass them in a JSON file instead? That would make it easier for other tools to read them.
No, I think it's enough to have them in a shell like this: https://github.com/poanetwork/pos-test-setup/blob/master/scripts/network-spec - this won't be used by other tools except our test setup.
The initial parameters should be specified in a JSON file, rather than as environment variables passed to
scripts/make_spec.js
.scripts/make_spec.js
, or by the Rust code inparity-ethereum
? The former is simpler, but I strongly prefer the latter, as it allows users to deploy their own networks (with different owners, initial validators, etc) without having to have Node installed.