{"repo":"OdyseeTeam/chainquery","free":true,"listed":false,"github":"https://github.com/OdyseeTeam/chainquery","clone":"git clone https://github.com/OdyseeTeam/chainquery.git","description":"Chainquery parses and syncs the LBRY blockchain data into structured SQL","language":"Go","stars":2205,"topics":["blockchain","sql","lbry","go"],"license":"MIT","category":"blockchain-web3","readme_excerpt":"LBRY Chainquery Chainquery reads the LBRY blockchain into a structured MySQL database so that blocks, transactions, addresses, and the full LBRY claim system (channels, publishes, supports, tips/purchases, tags) can be queried quickly with plain SQL instead of walking the chain over RPC. It connects to a LBRY full node over JSON-RPC — lbcd in production (LBRY's Go full-node implementation, which the stack has migrated to), or the original lbrycrd — ingests blocks as they are mined, keeps the database in sync (including across blockchain reorganizations), computes derived data via scheduled jobs, and exposes an HTTP API — including a public, read-only SQL endpoint. What Chainquery consists of Everything runs from a single binary ( chainquery serve ), which starts the API server and the daemon together. There are four logical parts. 1. Daemon The daemon ( daemon/daemon.go , daemon/processing/ ) keeps the database in sync with lbrycrd. On each iteration it asks lbrycrd for the current height and processes every block above the last height it stored. - Blocks are processed strictly in order. A channel handshake ( blockQueue → blockProcessedChan ) plus a global BlockLock mutex guarantee block N+1 never starts before N is committed; out-of-order processing panics by design to avoid corrupting the data. - Transactions within a block are processed in parallel. A worker pool ( maxparalleltxprocessing , default NumCPU ) drains a job queue. Because a transaction can spend an output crea","default_branch":null,"files":null,"tree":[],"storefront":"/r/OdyseeTeam","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/OdyseeTeam/chainquery/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."}