dymint
dymint copied to clipboard
fix(da): full-nodes can sync from p2p while DA light client is down or out of sync
PR Standards
The main objective of this PR is the startup process for Celestia DA for full-nodes. With the modifications, full nodes will not wait for a DA to be in sync (or up) and it will do the syncing process in the background, while the full-node can start receiving and caching gossiped blocks from P2P. It also solves a nil pointer error that was happening when DA light finished syncing and a full-node was started when was not still in sync. Without the modifications of this PR, a node could start receiving gossiped blocks, but everything received while DA was syncing was disregarded because the block manager was not started, waiting for the celestia light node to finish the syncing process.
Opening a pull request should be able to meet the following requirements
Close #856 , #799 , https://github.com/dymensionxyz/dymint/issues/770
<-- Briefly describe the content of this pull request -->
For Author:
- [ ] Targeted PR against correct branch
- [ ] included the correct type prefix in the PR title
- [ ] Linked to Github issue with discussion and accepted design
- [ ] Targets only one github issue
- [ ] Wrote unit and integration tests
- [ ] All CI checks have passed
- [ ] Added relevant
godoc
comments
For Reviewer:
- [ ] confirmed the correct type prefix in the PR title
- [ ] Reviewers assigned
- [ ] confirmed all author checklist items have been addressed
After reviewer approval:
- [ ] In case targets main branch, PR should be squashed and merged.
- [ ] In case PR targets a release branch, PR should be rebased.
conflicts @srene
btw, solves https://github.com/dymensionxyz/dymint/issues/770?
btw, solves #770?
yes, the problem was coming from da stuck in the starting process when celestia was syncing meanwhile the node was starting to get batches. I opened a new issue for that, so i think we can close 770
Please do gofumpt -w .
to format