-
Notifications
You must be signed in to change notification settings - Fork 709
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
Improve parachains node --dev
flag experience
#6537
Comments
This should not be required when you use
Not sure for what you need a block time, because manual seal only does something when you ask it to do something. At some point we had an issue that manual seal actually build blocks automatically when there isn't a tx send for some time, but we never implemented it. If you need some block time, you could try to fetch it from |
For point 3: Ideally, there should be a flag to see the parachain in action, like a solochain, and test the runtime features that have been developed. A parachain runtime developer could use this and just focus on the runtime development and testing, without running any validator in the background. |
runtime devs can just use chopsticks |
@xlc Fair point. It would be nice to integrate Chopsticks into the node repo and be invoked with a flag. |
I am fine with scratching 2 in the context of enabling manual seal on
Yes, for OmniNode and minimal-template-node we tell it to do something with a timer which triggers the block sealing continuously at certain intervals.
I will check it out, we should be able to assume that |
I'm telling this to people as well ;)
Sounds good to me |
@xlc @DrW3RK I am not super familiar with chopsticks. My understanding is that it needs a live chain and it will fork its current state and work with it locally. In the case of non-live chain, I think we should start a local chain/node based on the runtime we want to test, and then point
Integrating chopsticks more into the node, by instructing it via a flag to start in |
--dev
flag experience--dev
flag experience
you can run a dev chain from chain spec using chopsticks. we may need to improve the docs but there isnt much reason to use omni node when developing runtime |
I see. In this case I am not super sure why |
Leaving here a brain dump with my perspective over Regular OmniNode usage with
|
Chopsticks is just not that old ;)
If we have that already, make |
High level I want to ack that the future of local development is we can in the meantime print an |
@DrW3RK , can you tell where this I opened #6646 which adds support on Separately, I am trying to suggest clearer |
Hey @iulianbarbu, I defer this to others in this discussion who are more knowledgeable about the context of the node flags. I'm okay with just using Chopsticks for runtime development and not using the —-dev flag on the parachain node.
Thanks for pointing this out. To test runtime feature changes on a parachain that is live on a relay chain, the |
Thanks for confirming the current proposal sounds good! We can follow up with more Will double down a bit on my decision by mentioning what I considered (please anyone correct me if I am wrong):
Thanks for the materials! I found out it is also possible to directly use a chain spec. You can check out the comments started from this. For I am getting an output like below (we're getting an RPC endpoint that can be used to drive the state forward):
|
Is there an existing issue?
Experiencing problems? Have you tried our Stack Exchange first?
Motivation
There are a few issues with the current flow of how
--dev
flag works with parachain development:--dev
isn't supported because--dev
and--chain
can not be both provided at the same time to the node.parachain-template-node
with--dev
requirespolkadot-sdk
to be built with a dependency onpolkadot-cli?/rococo-native
, since thedev
chain spec of thepolkadot-template-node
usesrococo-local
as relay chain.polkadot-omni-node
andpolkadot-template-node
would require a working relay chain network (1 validator at least? to be clarified), which if not created before the parachain node startup will result in block authoring/finalization issues.Request
Unify & simplify the experience of how
--dev
flag works for OmniNode and regular parachain development - for what regular means we can refer toparachain-template-node
and using it with--dev
flag.parachain-template-node
might phase out with time, and only OmniNode usage might be relevant, but I think fixing/simplifying the--dev
outcome for theparachain-template-node
would be useful to ensure that all substrate/cumulus/omni-node/templates built-in behaviors converge when using--dev
flag.Solution
--dev
&--chain
flags to work together for OmniNode, keeping in mind the experience shouldn't be very different from what we settle on asparachain-template-node
--dev
behavior and side effects, after we clarify how to approach point 3.std
feature depend onpolkadot-cli?/rococo-native
, to enable the--dev
flag usage withparachain-template-node
.--dev
. Manual seal requires setting a block time though, and we could hardcode it to 3000ms (as I've seen in practice used in a few places). Open to other suggestions though. Other opinions I've seen were to depend on zombienet to handle--dev
flag accordingly (as in detecting that parachain node has such a flag and setup a relaychain network accordingly), or make a similar thing within the node itself, or mock relay chain network dependencies (which needs more scoping).I will follow up with a more concise plan here once we'll confirm the problem statement looks right, and the solutions are sufficiently scoped for a decision.
Are you willing to help with this request?
Yes!
The text was updated successfully, but these errors were encountered: