{"id":20093920,"url":"https://github.com/api3dao/airseeker","last_synced_at":"2026-01-24T01:03:38.409Z","repository":{"id":197993437,"uuid":"696680149","full_name":"api3dao/airseeker","owner":"api3dao","description":"A service powering the data feeds","archived":false,"fork":false,"pushed_at":"2025-05-01T17:38:37.000Z","size":1972,"stargazers_count":4,"open_issues_count":8,"forks_count":5,"subscribers_count":7,"default_branch":"main","last_synced_at":"2025-05-03T11:07:05.129Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/api3dao.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":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-09-26T08:25:27.000Z","updated_at":"2025-04-28T11:56:40.000Z","dependencies_parsed_at":"2023-10-26T07:37:24.220Z","dependency_job_id":"dd7e3595-f492-4b51-9061-b19ac66c6c19","html_url":"https://github.com/api3dao/airseeker","commit_stats":{"total_commits":421,"total_committers":12,"mean_commits":"35.083333333333336","dds":0.6413301662707839,"last_synced_commit":"6926a92ce8ec328e19f3328a9050bfc52c36339f"},"previous_names":["api3dao/airseeker-v2","api3dao/airseeker"],"tags_count":23,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/api3dao%2Fairseeker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/api3dao%2Fairseeker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/api3dao%2Fairseeker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/api3dao%2Fairseeker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/api3dao","download_url":"https://codeload.github.com/api3dao/airseeker/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252622424,"owners_count":21777988,"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":"2024-11-13T16:48:48.809Z","updated_at":"2026-01-24T01:03:38.367Z","avatar_url":"https://github.com/api3dao.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# airseeker-v2\n\n\u003e A service powering data feeds using the [Signed API](https://github.com/api3dao/signed-api).\n\nAirseeker v2 is a streamlined redesign of the [original Airseeker](https://github.com/api3dao/airseeker-v1), focused\nexclusively on working with Signed APIs for improved efficiency and simplicity.\n\n## Getting started\n\n1. `pnpm install` - To install the dependencies.\n2. `cp config/airseeker.example.json config/airseeker.json` - To create the configuration file.\n3. `cp config/secrets.example.env config/secrets.env` - To create the secrets file.\n\n## Flowchart and specification\n\nA render of the flowchart can be found below. To edit this document, use [diagrams.net](https://app.diagrams.net) to\nedit `airseeker_v2_pipeline.drawio`, preferably by cloning the repository and loading the file locally.\n\n![Airseeker flowchart](airseeker_v2_pipeline.drawio.svg)\n\nLink to the\n[Airseeker specification](https://docs.google.com/document/d/1x5QBOGII8IUGjtoNR6PVE_UeqEjRQj2u3Ysa1FQkHf0/edit).\n\n## Configuration\n\nSee [configuration](./config/configuration.md) for details.\n\n## Versioning and release\n\nAirseeker uses [semantic versioning](https://semver.org/). The version is specified in the `package.json` file. The\npackage is published to GitHub, NPM, Docker Hub.\n\nTo release a new version:\n\n1. `pnpm create-release:npm [major|minor|patch]` - This will bump the version throughout the repo and commit the\n   changes.\n2. Push to `main`. This will trigger the `tag-and-release` GitHub Actions job and result in 1) the commit being tagged\n   with the new version, 2) the release being created on GitHub and npm, and 3) the Docker image being built and pushed\n   to Docker Hub.\n\n## Docker\n\n### Build\n\nThe docker image can be built by running the following commands from the root directory:\n\n```sh\npnpm run docker:build\n```\n\n### Run\n\nCreate a `.env` file using `cp .env.example .env` and run the docker image locally with:\n\n```sh\npnpm run docker:run\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapi3dao%2Fairseeker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fapi3dao%2Fairseeker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapi3dao%2Fairseeker/lists"}