Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. Parse, validate and load arguments
    1. this will only check for validity of single arguments e.g type checking/enum checking
    2. the end config result should be the same no matter what process you use e.g env variable vs toml etc.
  2. Instantiate all exposed Plugin Services (e.g StorageService etc)
    1. currently, some services are not registered until after things have been created e.g BesuEvents this should be our problem not the plugin developers problem.
  3. Register all Plugins
  4. Validate Configuration combinations
  5. Instantiate Besu
  6. Run Besu

Code

Breaking changes POC for loading cli options - I think this offers better integration and understanding of what's going on but at the cost of being a breaking change. It also has less flexibility and is means that cli options are 'special'.

https://github.com/hyperledger/besu/pull/2768


Another option could be to introduce another method that would be called before BesuPlugin::register (and parse in besu) that would be specifically for registering cli options.

https://github.com/hyperledger/besu/pull/2792