https://github.com/iotaledger/inx-chronicle
IOTA permanode implemented using the IOTA Node Extension (INX) interface.
https://github.com/iotaledger/inx-chronicle
hacktoberfest inx iota permanode rust storage
Last synced: 11 months ago
JSON representation
IOTA permanode implemented using the IOTA Node Extension (INX) interface.
- Host: GitHub
- URL: https://github.com/iotaledger/inx-chronicle
- Owner: iotaledger
- License: apache-2.0
- Archived: true
- Created: 2022-03-30T09:38:14.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2024-08-12T14:49:47.000Z (almost 2 years ago)
- Last Synced: 2025-08-10T16:51:40.050Z (12 months ago)
- Topics: hacktoberfest, inx, iota, permanode, rust, storage
- Language: Rust
- Homepage:
- Size: 16.5 MB
- Stars: 16
- Watchers: 9
- Forks: 17
- Open Issues: 29
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
- Code of conduct: .github/CODE_OF_CONDUCT.md
- Support: .github/SUPPORT.md
Awesome Lists containing this project
README
# inx-chronicle
[](https://github.com/iotaledger/inx-chronicle/actions/workflows/ci.yml)
[](https://github.com/iotaledger/inx-chronicle/actions/workflows/canary.yml)
[](https://coveralls.io/github/iotaledger/inx-chronicle?branch=main)
Chronicle is the permanode (sometimes also called indexer or scanner) for the IOTA-based networks.
It connects to a [Hornet](https://github.com/iotaledger/hornet) via the [IOTA Node Extension (INX)](https://github.com/iotaledger/inx) interface.
Through 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.
## Documentation
The 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).
## Development
This 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.
The changelog can be created using the following command (requires the [`conventional-changelog-cli`](https://www.npmjs.com/package/conventional-changelog-cli) package on NPM):
```sh
conventional-changelog -p conventionalcommits -i CHANGELOG.md -s
```
## Docker deployment configuration of credentials through environment variables
Docker 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:
```ini
MONGODB_USERNAME=root
MONGODB_PASSWORD=root
INFLUXDB_USERNAME=root
INFLUXDB_PASSWORD=password
JWT_PASSWORD=password
JWT_SALT=saltines
HORNET_CONFIG_PATH=config_testnet.json
```