IntersectMBO / cardano-node

The core component that is used to participate in a Cardano decentralised blockchain.
https://cardano.org
Apache License 2.0
3.06k stars 723 forks source link

Parameterize cardano-testnet on config yaml files #3719

Open Jimbo4350 opened 2 years ago

Jimbo4350 commented 2 years ago

Currently cardano-testnet relies on a hardcoded configuration yaml file: https://github.com/input-output-hk/cardano-node/blob/91cc07a9c085373085391be130fc1aff96a2c8fc/cardano-testnet/src/Testnet/Cardano.hs#L225

And then updates the yaml file in an ad hoc fashion: https://github.com/input-output-hk/cardano-node/blob/91cc07a9c085373085391be130fc1aff96a2c8fc/cardano-testnet/src/Testnet/Cardano.hs#L280

This makes it more challenging to vary settings in the configuration per test (e.g if you wanted to output JSON logs instead of plain text logging, test incorrect configuration settings etc).

Allowing the specification of the configuration yaml file for all the nodes in question would be a good start. The eventual aim would be to modify the cardano-testnet executable to allow specification of a single yaml file for all nodes or individual yaml files for each node.

newhoggy commented 2 years ago

https://github.com/input-output-hk/cardano-node/pull/3727

newhoggy commented 2 years ago

Heads up that recent aeson upgrade to version 2 in cardano-node will make updating plutus-apps more challenging because dependencies in that repo rely on version 1.