{"repo":"HerodotusDev/L2-indexer","free":true,"listed":false,"github":"https://github.com/HerodotusDev/L2-indexer","clone":"git clone https://github.com/HerodotusDev/L2-indexer.git","description":"Indexer for Ethereum Layer 2s (OP Stack rollups, Arbitrum, etc...)","language":"Rust","stars":35,"topics":["ethereum","indexer","opstack","optimism","rust","arbitrum","herodotus"],"license":"GPL-3.0","category":"blockchain-web3","readme_excerpt":"L2 Indexer This repo implements an indexer whose role is to watch for L2 rollups events emitted on Ethereum and index the Output Roots into a database for querying later -- providing examples for Arbitrum, Optimism, Base, Zora chain Supported Networks Type Network Network Detail Support :------- :------: -------------: :-----: Arbitrum Arbitrum mainnet ✅ Arbitrum Arbitrum sepolia ✅ OP Stack Base mainnet ✅ OP Stack Base sepolia ✅ Optimism Optimism mainnet ✅ Optimism Optimism sepolia ✅ OP Stack Zora mainnet ✅ Architecture 1. Monitor Events : Run monitoring service that gets network spec as pm2 config. It keeps track OP Stack rollup & Arbitrum that emitted block hash preimage(Output Root) on the L1 contract. 2. L2 Micro Service : Rust HTTP micro-service provides L2 information including block hash requested by block number. Monitoring service: Monitor events ( OutputProposed ) from L1 contract. Retrieve output root First check table is exist. If it's exist, get latest L1 block that stored in db, and use this block number as from block filter. If it's not exist, create table and query all events from 0 to latest block - BLOCK DELAY . Monitor service will pull every POLL PERIOD . If POLL PERIOD is longer than block creation time, the service algorithm is already ensure to get not duplicated event. Here is the example log: example log Block number - Output Index mapper Microservice Request with l2 block number , network name return l2 output root and l2 block number . In this case,","default_branch":null,"files":null,"tree":[],"storefront":"/r/HerodotusDev","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/HerodotusDev/L2-indexer/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}