{"id":25322416,"url":"https://github.com/checkernetwork/piece-indexer","last_synced_at":"2025-04-07T22:22:37.602Z","repository":{"id":249989600,"uuid":"822968735","full_name":"CheckerNetwork/piece-indexer","owner":"CheckerNetwork","description":null,"archived":false,"fork":false,"pushed_at":"2025-01-29T09:02:06.000Z","size":570,"stargazers_count":0,"open_issues_count":3,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-29T12:36:28.000Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CheckerNetwork.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-07-02T07:18:56.000Z","updated_at":"2025-01-29T09:02:09.000Z","dependencies_parsed_at":"2024-07-24T15:33:00.752Z","dependency_job_id":"a3ebddd0-9090-4623-bd5a-9ae40fa957f0","html_url":"https://github.com/CheckerNetwork/piece-indexer","commit_stats":null,"previous_names":["filecoin-station/piece-indexer","checkernetwork/piece-indexer"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CheckerNetwork%2Fpiece-indexer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CheckerNetwork%2Fpiece-indexer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CheckerNetwork%2Fpiece-indexer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CheckerNetwork%2Fpiece-indexer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CheckerNetwork","download_url":"https://codeload.github.com/CheckerNetwork/piece-indexer/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247737971,"owners_count":20987772,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-02-13T23:40:44.856Z","updated_at":"2025-04-07T22:22:37.576Z","avatar_url":"https://github.com/CheckerNetwork.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# piece-indexer\n\nA lightweight IPNI node mapping Filecoin PieceCID → payload block CID.\n\n- [Design doc](./docs/design.md)\n\n## Basic use\n\nNote: this will change soon, see\nhttps://github.com/filecoin-station/piece-indexer/issues/33\n\n## `GET /sample/{provider-id}/{piece-cid}`\n\nSample a set of multihashes ingested by IPNI for a given ContextID, matching the\nroute eventually to be exposed by an IPNI reverse index.\n\n_This is an alternative implementation of the IPNI Reverse Index as specified in\n[xedni/openapi.yaml](https://github.com/ipni/xedni/blob/526f90f5a6001cb50b52e6376f8877163f8018af/openapi.yaml)._\n\nParameters:\n\n- `provider-id` - the peer ID of the storage provider (index publisher)\n- `piece-cid` - the Filecoin deal's PieceCID as advertised by the provider in\n  Graphsync retrieval metadata\n\nResponse:\n\n- `samples` - a list of exactly one payload block CID contained inside the piece\n  identified by the requested PieceCID.\n\nExample:\n\nhttps://pix.filspark.com/sample/12D3KooWHKeaNCnYByQUMS2n5PAZ1KZ9xKXqsb4bhpxVJ6bBJg5V/baga6ea4seaqlwzed5tgjtyhrugjziutzthx2wrympvsuqhfngwdwqzvosuchmja\n\n```json\n{\n  \"samples\": [\"bafkreigrnnl64xuevvkhknbhrcqzbdvvmqnchp7ae2a4ulninsjoc5svoq\"]\n}\n```\n\n## `GET /ingestion-status/{provider-id}`\n\nReturn the index status for the given provider.\n\nExample:\n\nhttps://pix.filspark.com/ingestion-status/12D3KooWHKeaNCnYByQUMS2n5PAZ1KZ9xKXqsb4bhpxVJ6bBJg5V\n\n```json\n{\n  \"providerId\": \"12D3KooWHKeaNCnYByQUMS2n5PAZ1KZ9xKXqsb4bhpxVJ6bBJg5V\",\n  \"ingestionStatus\": \"All advertisements from baguqeeralhduow57bhqo5zgiwe6swgjrqw2nuckvnch6nlylaensfzf3bfyq to the end of the chain were processed.\",\n  \"lastHeadWalkedFrom\": \"baguqeeralhduow57bhqo5zgiwe6swgjrqw2nuckvnch6nlylaensfzf3bfyq\",\n  \"adsMissingPieceCID\": 0,\n  \"entriesNotRetrievable\": 0,\n  \"piecesIndexed\": 6344\n}\n```\n\n## Development\n\n```bash\ndocker run --name redis -p 6379:6379 -d redis\nnpm start -w indexer\n```\n\n## Deployment\n\nPushes to `main` will be deployed automatically.\n\nPerform manual devops using [Fly.io](https://fly.io):\n\nIndexer:\n\n```bash\n$ fly deploy --remote-only -c indexer/fly.toml\n$ fly deploy --remote-only -c api/fly.toml\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcheckernetwork%2Fpiece-indexer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcheckernetwork%2Fpiece-indexer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcheckernetwork%2Fpiece-indexer/lists"}