network: rococo live this is my parachain log. image image image image enter image description here

enter image description here


1 Answer 1


It is hard to fully understand the reason from the screenshots but I can see some important details:

Your node is producing the same block again and again (see Imported #8102). This means there is no issue producing it but the validator is not receiving it or not able to verify it. Let see the possible reasons

Possible issue #1: trouble sending the block

The PoV (Proof of Validity, that needs to be sent to the validator to verify the block) is significant (see lines storage_proof: 1992.018...kb, Compressed PoV size: 1334.125kb). If your network connection with the validator is slow or with high latency (far away from each other), the validator might not receive the block in time and not be able to include it.

This usually auto-resolve by itself once a new (closer/faster) validator(s) is assigned to verify your parachain block.

Possible issue #2: trouble verifying the block in time

The block execution time in your logs are low (see Prepared block for proposing at #8102 (10ms)), which is good, so I would discard this issue in your case. It is very unlikely for the validator to not have enough time to execute the block verification. A parachain block is currently allowed 500ms but if the validator(s) assigned to your parachain is slow, this could lead to the block not being included.

Possible issue #3: Invalid parachain code in the relay

Another possibility is if the parachain code in the relay is not matching the code in your parachain. This can happen when the parachain and the relay are planning to upgrade the parachain code at a different relay block number. To avoid this issue, avoid performing the upgrade within a scheduled extrinsic (like using system.setCode in a proposal or in the pallet scheduler).

If this is the case, you will need help of the relaychain maintainer to update the parachain code on the relay.

  • thanks! My machine configuration is definitely sufficient (4C16G), I think it is because the relay chain has not been upgraded, how does the administrator on the relay chain upgrade the specified parallel chain?
    – 99kies
    Commented Mar 21, 2022 at 6:19
  • The relay chain gets the new parachain code when the parachain code notifies it (through system.setCode or parachainSystem.enactAuthorizedUpgrade). This is automatic and except when done incorrectly should not require any human interaction. In the relay chain, you can verify your code with the paras.currentCodeHash which should match your new runtime hash
    – Crystalin
    Commented Mar 23, 2022 at 18:38

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.