Skip to content

feat(sequencer, indexer): Use zone-sdk instead of bedrock client POC#389

Draft
pradovic wants to merge 2 commits intomainfrom
pg/zone-sdk-lez
Draft

feat(sequencer, indexer): Use zone-sdk instead of bedrock client POC#389
pradovic wants to merge 2 commits intomainfrom
pg/zone-sdk-lez

Conversation

@pradovic
Copy link

@pradovic pradovic commented Mar 9, 2026

🎯 Purpose

This PR introduces logos-blockchain zone-sdk to hide some complexity from the LEZ when implementing sequencer and indexer.

This is the proof of concept with some todos left to address, and needs additional manual testing.

**Work in progress ** - testing with CI help

⚙️ Approach

Sequencer

  • Removed resubmitting logic and removes direct API usage when implementing sequencer logic
  • Support for resume from checkpoint
  • Remove bedrock client dependency entirely (needs update and re-exports of types in zone-sdk)
  • Update logos-blockchain-node image in CI and use next_messages() API
  • Remove not needed fields from the db and add checkpoints to db instead of a file

🧪 How to Test

Integration tests and regular tests should pass as before the change.

🔗 Dependencies

No dependencies for now.

🔜 Future Work

  • address todo comments (remove msg_id field from rocksdb)
  • brainstorm and improve checkpoint stop/resume logic

TO COMPLETE IF APPLICABLE

📋 PR Completion Checklist

Mark only completed items. A complete PR should have all boxes ticked.

  • Complete PR description
  • Implement the core functionality
  • Add/update tests
  • Add/update documentation and inline comments

@pradovic pradovic changed the title Use zone-sdk instead of bedrock client in sequencer and indexer feat(sequencer, indexer): Use zone-sdk instead of bedrock client Mar 9, 2026
@pradovic pradovic marked this pull request as draft March 9, 2026 16:20
@pradovic pradovic self-assigned this Mar 10, 2026
@pradovic pradovic changed the title feat(sequencer, indexer): Use zone-sdk instead of bedrock client feat(sequencer, indexer): Use zone-sdk instead of bedrock client POC Mar 10, 2026
@pradovic
Copy link
Author

pradovic commented Mar 10, 2026

@davidrusu , @bacv , @schouhy After some debugging I think I've found an issue with using the current preferred approach for zone-sdk.

The tests pass now using indexer follow() API from zone-sdk, but ideally we should use the next_messages() API since it also reads historical blocks. The integration tests were failing because the pinned docker image (built Feb 3) predates the LIB initialization fix in 47a10384 (merged Feb 16) on logos-blockchain-node. Is there a reason the docker image is pinned to that specific version?

If I can update to a newer image, I believe next_messages() approach should work as expected (back-filling before following new blocks). Then I would improve an API on zone-sdk a little bit and open the PR for review.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant