-
Notifications
You must be signed in to change notification settings - Fork 346
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
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 (
--dev
service and manual seal) into the existing parachain binary. When run in--dev
mode 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?
--dev
flag 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