A library and service for storing, indexing, and searching files and documents on the IPFS network.
Mahuta is a library and service designed to aggregate and consolidate files or documents stored by applications on the IPFS network. It provides a comprehensive solution for collecting, storing, indexing, caching, and searching IPFS data in a convenient and scalable manner.
JVM-based application developers and teams building systems that require decentralized storage and search capabilities on IPFS, particularly those needing to manage large-scale data with metadata indexing.
Developers choose Mahuta for its unified, scalable interface that simplifies IPFS data management by combining storage, indexing, and search into a single tool, with support for both embedded Java library usage and a configurable REST API.
IPFS Storage service with search capability
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Combines storage, indexing, and search into a single API, simplifying decentralized data management as shown in the Java and HTTP API examples for operations like indexing and querying.
Optimized for large-scale applications with asynchronous writing mechanisms and caching, ensuring efficient handling of high data volumes as highlighted in the features section.
Can be embedded as a Java library or run as a configurable REST API, offering versatility for different architectural needs, demonstrated through both Java and Docker setups.
Provides seamless integration with Spring Data repositories, reducing boilerplate code for JVM applications, as shown in the annotated entity and repository examples.
Requires separate setup and management of an IPFS node and ElasticSearch instance, adding complexity to deployment and maintenance, as admitted in the prerequisites.
Currently only supports ElasticSearch for indexing, restricting flexibility if teams prefer other search technologies like Solr or OpenSearch.
Primarily designed for JVM applications, with dependencies and examples focused on Java, making it less suitable for projects using other programming languages.