I have a few questions about Cumulus:
For a standalone substrate chain to work with a relay chain, there must be three modifications made (besides collator selection mechanism): a) The parachain info pallet along with the register_validate_block! macro, in the runtime b) No grandpa pallet c) The collator service. While a) and b) seem to be fairly easy to comprehend and implement, c) i do not fully understand. With regards to c), i) Is the node/src/service.rs the only thing in the node that must be changed? ii) Once the node/src/service.rs is changed for a non-live solo substrate chain to morph it into a parachain, will it still be able to function as a solo independent chain iii) Since the node/src/service.rs is not a part of the wasm runtime, how would a live solo substrate chain make the forkless transformation to becoming a live parachain, and back again if required?
Regarding collator/validator selection: For a solo substrate chain that works on aura (with the staking and session pallet), is adding and configuring the aura-ext pallet and the collator-selection pallet, the only two things required for switching to a parachain that uses cumulus with collators?
Is authority-discovery relevant here?