Skip to content

Regarding the issue of encountering the "invalid opcode: INVALID" error during cross-day execution of the validator list on the BSC chain #654

@DExpress-dev

Description

@DExpress-dev

Dear Maintainer,

I deployed a private chain using BSC. Due to the initial lack of validator nodes, I modified the INIT_VALIDATORSET_BYTESvariable and INIT_NUM_OF_CABINETSvariable in the BSCValidatorSet.solcontract as per the instructions. Specifically, I set INIT_NUM_OF_CABINETSto 3 (matching the number of validators I launched), and used the validators.extraValidatorByteslist printed by node scripts/generate-genesis.jsfor INIT_VALIDATORSET_BYTES. After startup, the three nodes produced blocks normally, and all block data appeared correct. However, when crossing UTC midnight (00:00:00), the following error occurred:

apply message failed msg= err="invalid opcode: INVALID" from=0xC2AE016880b37904066901e9Cd872E7Fb6b104e6 to=0x0000000000000000000000000000000000001000

Here, the fromaddress corresponds to the active validator at that time, while the toaddress is the validator system contract address. What might be causing this issue?

I did not manually modify or update the validator list bytecode in genesis.json; it was automatically generated using node scripts/generate-genesis.js. Could this require manual replacement with the latest bytecode of the 0x0000000000000000000000000000000000001000 system contract?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions