Skip to content
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

Identify database solution for Explorer #941

Open
AlejandroCabeza opened this issue Dec 11, 2024 · 0 comments
Open

Identify database solution for Explorer #941

AlejandroCabeza opened this issue Dec 11, 2024 · 0 comments

Comments

@AlejandroCabeza
Copy link
Contributor

AlejandroCabeza commented Dec 11, 2024

We need a database that fully supports all of the Explorer's functional requirements. Ideally, this would be a single database solution to reduce the overhead of maintaining multiple databases.

Current Proposal: SurrealDB

SurrealDB is currently the main candidate due to its potential and promising features. However, as of today (11/12/2024), some capabilities—particularly deserializing graph relationships—do not meet our standards. Further testing and evaluation are required.

StorageBackend was implemented for SurrealDB in this PR, but it was closed (postponed) due to these limitations. The branch will remain protected for potential future use.

Primary Use Cases

  1. Fetch a block based on TIP - N
    Retrieve a block by going back N blocks from the current tip.

  2. Identify the Nearest Common Ancestor and Plot Paths
    Find the nearest common ancestor of a list of tips and plot the different paths stemming from it.

  3. Apply Forking Rules

    • From a given tip, identify the common ancestor and forks from it.
    • Query for chain selection rules.
@AlejandroCabeza AlejandroCabeza changed the title Identify database solution Identify database solution for Explorer Dec 11, 2024
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

No branches or pull requests

1 participant