Skip to content

feat(storage): implement Arweave and IPFS storage services#73

Merged
Oluwaseyi89 merged 4 commits intoNFTopia-Foundation:mainfrom
Obiajulu-gif:offchain_nft
Feb 25, 2026
Merged

feat(storage): implement Arweave and IPFS storage services#73
Oluwaseyi89 merged 4 commits intoNFTopia-Foundation:mainfrom
Obiajulu-gif:offchain_nft

Conversation

@Obiajulu-gif
Copy link
Contributor

@Obiajulu-gif Obiajulu-gif commented Feb 20, 2026

  • Added ArweaveService for handling uploads to Arweave.
  • Introduced IpfsService for managing uploads to IPFS with support for Pinata, Web3Storage, and NFT.Storage.
  • Created StoredAsset entity to persist uploaded asset metadata.
  • Implemented InMemoryRetryQueueService for managing retry logic on upload failures.
  • Developed StorageService to coordinate uploads and handle fallback logic between IPFS and Arweave.
  • Added validation for file uploads, including MIME type checks and size limits.
  • Configured storage settings through environment variables with a dedicated storage.config module.
  • Enhanced error handling and logging for upload processes.
  • Created utility functions for generating URIs and gateway URLs for stored assets.
  • Added unit tests for StorageService to ensure correct functionality and error handling.
    Closes Implement a decentralized storage module for off-chain NFT media and platform assets #69

- Added ArweaveService for handling uploads to Arweave.
- Introduced IpfsService for managing uploads to IPFS with support for Pinata, Web3Storage, and NFT.Storage.
- Created StoredAsset entity to persist uploaded asset metadata.
- Implemented InMemoryRetryQueueService for managing retry logic on upload failures.
- Developed StorageService to coordinate uploads and handle fallback logic between IPFS and Arweave.
- Added validation for file uploads, including MIME type checks and size limits.
- Configured storage settings through environment variables with a dedicated storage.config module.
- Enhanced error handling and logging for upload processes.
- Created utility functions for generating URIs and gateway URLs for stored assets.
- Added unit tests for StorageService to ensure correct functionality and error handling.
@Oluwaseyi89
Copy link
Contributor

@Obiajulu-gif please review your code and resolve the linting errors.

@Obiajulu-gif
Copy link
Contributor Author

@Oluwaseyi89 I have worked on the issue...

@Oluwaseyi89 Oluwaseyi89 merged commit 2f2cc9f into NFTopia-Foundation:main Feb 25, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Implement a decentralized storage module for off-chain NFT media and platform assets

2 participants