-
Notifications
You must be signed in to change notification settings - Fork 111
Replay transactions from DA-Sequencer blocks to an Aptos Validator Node #1302
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
Conversation
…equencer in separate tasks
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The idiomatic way to add a new command to the movement repo is to use the movement_node crate as a CLI.
See the PR #1300 and mostly the new cmd file
And the implementation part. It's not mandatory to put the impl in the maptos/execution part. You can put all the code in the movement-node.
No sure it's important to change your code to the idiomatic way. The advantage of this code organization is that you can use Docker to execute the command on any instance without building it. See the docker script.
One other remarks, if you integrate the code in the movement-node crate, you can reuse the da-db module instead of copying it in your code.
Summary
utilThis PR adds a validation utility for the L1 migration. It allows replaying transactions from the DA-Sequencer to an Aptos Validator Node. To run the tool, one must know the current DA synced height of the Movement node, which provides the database for the Aptos Validator Node. The tool can extract the current synced DA block height from a local copy of the
movement-da-db. If themovement-da-dabis available on the same machine, the utility can extract the DA height automatically before replaying the blocks/transactions. Besides replaying transactions on the Aptos node, the utility also validates (compares) the execution outputs from both nodes if a URL to a Movement full-node gets provided as a parameter.Examples
Extract the synced DA height from the
movement-da-db:Replay transactions to a validator node (extern):
Replay transactions to a validator node (intern):
Changelog
The PR fixes only the spelling of comments and error messages.
Testing
movement-da-db(optional, see example above).waypointandgenesisfiles.secure-data.jsonOutstanding issues
It's expected that the first n submitted transactions by the replay tool might get rejected by the validator node with the following errors:
Currently, most validated transactions have a different write-set, which needs to be investigated: