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

Implement Indexer Service #4

Open
raduciobanu22 opened this issue Dec 11, 2024 · 24 comments
Open

Implement Indexer Service #4

raduciobanu22 opened this issue Dec 11, 2024 · 24 comments
Assignees
Labels

Comments

@raduciobanu22
Copy link
Contributor

Objective
Create a service that continuously monitors the Alephium blockchain for new blocks and events, processes them according to configured handlers, and stores the results in the database.

Scope of Work

  1. Event Processing
  • Implement plugin system for event handlers
  • Create event filtering mechanism
  • Add event validation and transformation
  • Implement error handling for failed processing
  1. Service Management
  • Create service lifecycle management
  • Implement graceful shutdown
  • Add health checking
  1. Data Consistency
  • Implement block reorganization handling
  • Add data validation mechanisms
  • Create data integrity checks
  • Implement recovery procedures

Requirements

  • Plugin-based architecture for extensibility
  • Robust error handling and recovery
  • Comprehensive logging
  • Complete test coverage
@khayss
Copy link

khayss commented Dec 12, 2024

Can I take care of this issue?

I am a backend developer and I can build backends using Rust and NodeJS. I believe I have the knowledge and skill to work on this issue.

I can work on this indexer service. I understand what is required to complete this task.

@htiennv
Copy link
Contributor

htiennv commented Dec 12, 2024

Hi, Can i take this issue? @raduciobanu22 . I have strong Rust backend skill

@Judah04
Copy link

Judah04 commented Dec 12, 2024

Hi, I'd like to work on this issue.

@tnv1
Copy link

tnv1 commented Dec 12, 2024

Hi, Can I take this issue? Thanks

@abdegenius
Copy link

Would love to tackle this!

@estherbreath
Copy link

estherbreath commented Dec 12, 2024

I am interested in this issue and would like to work on it.

To implement the Indexer Service for Alephium, I will focus on the following key aspects:

  • Set up event listeners for new blocks and events on the Alephium blockchain.

  • Develop a plugin system for flexible event handler registration and execution.

  • Implement robust error handling, logging, and data consistency checks throughout the indexing process.

ETA: 2 days

@mimisavage
Copy link

Could I try solving this?

@Supa-mega
Copy link

May I take this issue on?

@martinvibes
Copy link

i'm a frontend dev and blockchain dev
i would love to work on this and get it done
I’m interested in this one.
kindly assign

@BrunoAmbricca
Copy link

I would like to work on this issue

@ShantelPeters
Copy link

Can I handle this task?

@od-hunter
Copy link

Hi, please can I be assigned this please? I would love to be the given the opportunity to solve this issue please. I have experience in html, css, JavaScript, TypeScript, cairo and rust.

This is a summary of how I intend to solve this issue:
1.⁠ ⁠Firstly, I’ll implement a plugin-based architecture to handle event processing, implement filtering logic to handle specific event types, validate event data against schemas and transform as necessary before processing and use retry logic, logging, and alerting to manage failed events.
2.⁠ ⁠⁠I’ll create a service manager class to handle service initialization, starting, stopping, and monitoring, I’ll use signals or lifecycle hooks to handle shutdowns and implement a health check endpoint that checks service status and dependencies.
3.⁠ ⁠I’ll i⁠mplement logic to detect and handle blockchain reorganizations, I’ll implement data integrity checks when processing and storing events and implement data recovery using a queue.
4.⁠ ⁠⁠I’ll design components with decoupling in mind to support future plugins an integrate structured logging (e.g., using winston or log4js in Node.js) for tracking events, errors, and recovery actions.
5.⁠ ⁠⁠Lastly, I’ll use unit tests, integration tests, and mocks (e.g., jest, mocha) to cover event handlers, database operations, and recovery procedures.

Kindly assign me please, I’m up for the task.

@Jagadeeshftw
Copy link

I’d love to work on this issue as I have strong experience in building and managing APIs, handling server-side operations, and ensuring robust back-end performance.
Please assign this to me, and I’ll deliver a secure and high-quality PR within 12-24 hours.

@DuendexCR
Copy link

Can I work on this, please?

@greatest0falltime
Copy link

Could I take a shot at this?

@caxtonacollins
Copy link

I am a Full Stack Developer with two years of professional experience, specializing in web3. I have strong background in blockchain and extensive experience in Next.js/React, TypeScript, Cairo and Rust.

I will like to take care of this.

@olisaagbafor
Copy link

May I take this issue on?

@Dorcas18
Copy link

Could I take on this issue?

@ekumamatthew
Copy link

Let me handle this issue!

@JoE11-y
Copy link

JoE11-y commented Dec 14, 2024

My name is Edoh Joseph Onome, a developer with over 4 years of experience in full-stack development and blockchain systems. I have experience in building reliable services that efficiently process and store blockchain data. Previously, I built an indexer service with Rust for Scroll World ID, demonstrating my ability to handle complex event processing and data storage solutions

@1nonlypiece
Copy link

I'd love to give this a go.

@3th-Enjay
Copy link

Could I take a shot at this?

@danielrobotz
Copy link

Can I attempt this issue?

@TropicalDog17
Copy link
Contributor

Can I take on this issue @raduciobanu22

@raduciobanu22
Copy link
Contributor Author

Can I take on this issue @raduciobanu22

Assigned!

raduciobanu22 pushed a commit that referenced this issue Dec 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests