{"id":30126513,"url":"https://github.com/iotaledger/inx-chronicle","last_synced_at":"2025-08-20T10:06:22.542Z","repository":{"id":36964654,"uuid":"475812083","full_name":"iotaledger/inx-chronicle","owner":"iotaledger","description":"IOTA permanode implemented using the IOTA Node Extension (INX) interface.","archived":true,"fork":false,"pushed_at":"2024-08-12T14:49:47.000Z","size":17352,"stargazers_count":16,"open_issues_count":29,"forks_count":17,"subscribers_count":9,"default_branch":"main","last_synced_at":"2025-08-10T16:51:40.050Z","etag":null,"topics":["hacktoberfest","inx","iota","permanode","rust","storage"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/iotaledger.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":".github/SUPPORT.md","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-03-30T09:38:14.000Z","updated_at":"2025-05-20T11:42:08.000Z","dependencies_parsed_at":"2023-11-14T17:24:37.484Z","dependency_job_id":"80f2deb9-8ca9-412e-9549-dd59839f10b0","html_url":"https://github.com/iotaledger/inx-chronicle","commit_stats":null,"previous_names":[],"tags_count":58,"template":false,"template_full_name":null,"purl":"pkg:github/iotaledger/inx-chronicle","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iotaledger%2Finx-chronicle","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iotaledger%2Finx-chronicle/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iotaledger%2Finx-chronicle/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iotaledger%2Finx-chronicle/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/iotaledger","download_url":"https://codeload.github.com/iotaledger/inx-chronicle/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iotaledger%2Finx-chronicle/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271299981,"owners_count":24735470,"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","status":"online","status_checked_at":"2025-08-20T02:00:09.606Z","response_time":69,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["hacktoberfest","inx","iota","permanode","rust","storage"],"created_at":"2025-08-10T16:51:02.873Z","updated_at":"2025-08-20T10:06:22.498Z","avatar_url":"https://github.com/iotaledger.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# inx-chronicle\n\n[![ci](https://github.com/iotaledger/inx-chronicle/actions/workflows/ci.yml/badge.svg)](https://github.com/iotaledger/inx-chronicle/actions/workflows/ci.yml)\n[![Canary](https://github.com/iotaledger/inx-chronicle/actions/workflows/canary.yml/badge.svg)](https://github.com/iotaledger/inx-chronicle/actions/workflows/canary.yml)\n[![Coverage Status](https://coveralls.io/repos/github/iotaledger/inx-chronicle/badge.svg?branch=main)](https://coveralls.io/github/iotaledger/inx-chronicle?branch=main)\n\nChronicle is the permanode (sometimes also called indexer or scanner) for the IOTA-based networks.\nIt connects to a [Hornet](https://github.com/iotaledger/hornet) via the [IOTA Node Extension (INX)](https://github.com/iotaledger/inx) interface.\nThrough the INX interface, Chronicle listens to all blocks in the Tangle that are referenced by a milestone and stores them in a [MongoDB](https://www.mongodb.com/) database.\n\n## Documentation\n\nThe documentation for Chronicle can be found in [our wiki](https://wiki.iota.org/shimmer/chronicle/welcome), the supported APIs are documented [here](https://wiki.iota.org/shimmer/chronicle/reference/api).\n\n## Development\n\nThis project uses [conventional commits](https://www.conventionalcommits.org/en/v1.0.0/) to automatically generate a [`CHANGELOG.md`](https://github.com/iotaledger/inx-chronicle/blob/main/CHANGELOG.md) which signals breaking changes.\nThe changelog can be created using the following command (requires the [`conventional-changelog-cli`](https://www.npmjs.com/package/conventional-changelog-cli) package on NPM):\n```sh\nconventional-changelog -p conventionalcommits -i CHANGELOG.md -s\n```\n\n## Docker deployment configuration of credentials through environment variables\n\nDocker compose will automatically load credentials for different services from a `.env` file that must either be located in the same directory as the `docker-compose.yml` file, or specified using the `--env-file` flag. You therefore must create such a file before you do a `docker compose up`. An example `.env` file could look like this:\n\n```ini\nMONGODB_USERNAME=root\nMONGODB_PASSWORD=root\nINFLUXDB_USERNAME=root\nINFLUXDB_PASSWORD=password\nJWT_PASSWORD=password\nJWT_SALT=saltines\nHORNET_CONFIG_PATH=config_testnet.json\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiotaledger%2Finx-chronicle","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fiotaledger%2Finx-chronicle","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiotaledger%2Finx-chronicle/lists"}