Combine standalone and parachain node#204
Conversation
|
Looks good! But I don't understand that comment very well: |
|
If we don't support manual seal, how are we going to test so far ? |
|
@crystalin They way I understand this PR is that manual seal still supported through the parachain binary (using the |
Co-authored-by: nanocryk <6422796+nanocryk@users.noreply.github.com>
|
But the tests use the standalone... |
|
@JoshOrndorff The test is easy to fix if we want to but reflects a problem. The --dev part (aka standalone) is using the parachaunUpgrade.setValidationData inherent. Is this something we want to have ? |
Co-authored-by: Amar Singh <asinghchrony@protonmail.com>
Co-authored-by: Amar Singh <asinghchrony@protonmail.com>
|
If you plan to keep the setValidationData provider for the --dev, you can merge |
|
@crystalin thanks for looking into the tests 🙏. The approach I took in this PR is to treat the parachain runtime as the main product. Thus, in this branch, it is the only runtime. No more standalone feature. In order to make the --dev service work without an actual relay chain, I introduced the I think it makes sense for the tests to reflect this. Making these changes in the tests will also prepare them for a future where they are run against an actual parachain which would also have that inherent. |
and less focused test
This PR combines the standalone and parachain nodes into a single binary application 🤯
This removes the binary application known as the standalone node, moving its most important features (
--devservice and manual seal) into the existing parachain binary. When run in--devmode the node will start a special dev service (copied from the former standalone node) and insert mocked relay chain validation data. The runtime will accept this mocked data, and there will be no real relay chain backing the node.This does not preserve every single feature we had in the standalone node. By removing non-critical features we reduce the size of our codebase considerably, and eliminate nearly all remaining duplicated code.
What is preserved?
--devflag with it's manual seal mode (we may add instant seal in the future)What is discarded
Is there something left for follow-up PRs ?
What value does it bring to the blockchain users?
Only a single binary to work with whether joining a parachain, launching a parachain, or testing against a simple local node.
Checklist