marigold-dev / marigold-dev/deku

Deku Indexer

Open
#535 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

backlog
Dominant language
OCaml
Stars
82
Forks
17
PR merge metrics
No merged PRs in 30d

Description

We'll need an indexer soon.

Idea for Architecture

@EduardoRFS and I were thinking about this. It would be nice to keep deku-node is minimal as possible, making it easier to test and verify. To this end, one idea is to have deku-node only maintain the absolute bare minimum state (because we are using deterministic consensus we should only need the most recent finalized block). The archiving and indexing is done in a separate process, call it deku-indexer. deku-node communicates with deku-indexer via stdout or a message queue or something (we have to think about how to guarantee delievery while not compromising simplicity and performance of deku-node). We want independence between the two processes - I don't think DOS'ing deku-indexer should be allowed to affect deku-node, but at the same time it's important that deku-indexer receive the contents of every block from deku-node at least once.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No files, tests, or concrete entry points are named. Start by reading the proposed deku-node/deku-indexer split, then resolve the transport, delivery guarantees, and process-isolation requirements; the work is done when the architecture and integration boundary are agreed.

Written by the indexing model from the issue text.

Assessment

Tech stack
ocaml
Domain
distributed-systems
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.