https://github.com/metaplex-foundation/aura
https://github.com/metaplex-foundation/aura
Last synced: 16 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/metaplex-foundation/aura
- Owner: metaplex-foundation
- License: agpl-3.0
- Created: 2023-12-15T19:13:47.000Z (over 1 year ago)
- Default Branch: develop
- Last Pushed: 2025-04-10T13:32:16.000Z (about 1 month ago)
- Last Synced: 2025-05-08T19:12:13.463Z (16 days ago)
- Language: Rust
- Size: 17.1 MB
- Stars: 61
- Watchers: 8
- Forks: 14
- Open Issues: 12
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
- awesome - metaplex-foundation/aura - (Rust)
README
# AURA
The Metaplex Aura Network is a decentralized indexing and data availability network that extends Solana and the Solana Virtual Machine (SVM).
The Metaplex Aura Network has three main components:
* **Data Availability for Digital Assets:** Decentralized data storage and retrieval, ensuring that digital assets and media content are always accessible without relying on a single point of failure.
* **Multi-Program Consistent Indexing across any SVM:** Enhanced Digital Asset Standard (DAS) API for performant indexing across any protocols on Solana and the broader SVM.
* **Elastic State Management:** Ability to transition assets between SVM account space and different levels of state compression on demand, increasing flexibility and optimizing asset performance and scalability.For more background information, please see [our blog](https://www.metaplex.com/blog/articles/aura-announcement).
## Aura Infrastructure
This repo houses the Multi-Program Consistent Indexer, API, and Types of the Metaplex Aura. These components aggregate Solana Validator Data into an extremely fast and well-typed DAS API. This API provides a user-friendly interface on top of Metaplex programs, abstracting on-chain byte layouts, enabling super-fast querying and searching, and serving the Merkle proofs necessary for compressed NFTs.
**For a detailed overview of the system architecture, components, and databases, please refer to the [Architecture Document](doc/architecture.md).**
## Key Features
* **Fast and Efficient Indexing:** Optimized for both write-heavy ingestion and read-heavy API access.
* **Data Consistency:** Robust mechanisms to ensure data integrity, including validation and gap filling.
* **Scalability:** Designed to handle large data volumes and high transaction throughput.
* **Extensibility:** Modular design allows for future additions and modifications.
* **Compressed NFT Support:** Provides Merkle proofs required for operating with compressed NFTs.
* **Clean Architecture:** Based on Clean Architecture principles for maintainability and testability.## Getting Started
### Contributing
Please read our [contribution guidelines](CONTRIBUTING.md) for details on our GitFlow process and how to submit pull requests to us.
### Building
To build all Docker images locally, run:
```sh
make ci
```This will produce several images corresponding to the binary names (e.g., `ingester`, `api`, etc.). The images will be tagged as `ghcr.io/metaplex-foundation/aura-:latest`, allowing you to run the containers independently.
### Running Integration Tests
```bash
cargo t -F integration_tests
```### Profiling (Advanced)
To profile any of the binaries, replace the `dockerfile` parameter in the relevant service within `docker-compose.yaml` with `docker/profiling/app.Dockerfile`. This builds the binary with the `profiling` feature enabled. Make sure to rebuild the containers after changing the required Dockerfile.