XRP Data vault

Github repo

Inspiration

The XRP Data Vault project was inspired by the need for a secure and decentralized way to store and access wallet or token permissioned files and documents. The XRP Ledger provided the perfect platform for this project, as it allows for the creation of a data vault that can be accessed by selected users or only by creator.

What it does

Screenshot from the app

The XRP Data Vault project allows users to store and access wallet-permissioned files and documents thanks to authentication using the XRPL accounts. The project includes a dApp, which is a React application that allows users to interact with the API and retrieve files after proving ownership of their wallet address. The backend of the project is an Express.js server that provides a RESTful API to create and access XRPL data vaults.

Access can be based on:

  • Whitelist for certain wallet adresses.
  • Holders of NFTs issued by specific vault's owner which can be useful for adding additional utility to NFT collection.

How we built it

The XRP Data Vault project was built using Node.js, React, and Express.js. The project requires an Infura account to upload data to the IPFS network and an XRPL account to interact with the blockchain and prove ownership of wallet address/required NFTs.

Challenges we ran into

There were few challenges related to integration with XUMM wallet and secure verification related to ownership of wallet on the backend which was tricky but XRP dev discord server was full of people willing to help with that.

What's next for XRP data vault

For now few of the limitations are that:

  • The data uploaded to IPFS is not encrypted for simplified use in the demo. That could be accomplishes pretty easily using either symmetric key encryption that would be stored on the server or some more complex cryptography.

  • MVP dApp only supports display for markdown articles. I would love to add support for pdfs, images, videos etc which could allow for even more potential uses.

  • There is no option for dashboard to preview someone's vaults and edit/delete them. I am planning on adding this new screen once other features are complete.

  • Project isn't fully decentralized because of early stage of XRPL there are no smart contracts yet so I had to use WEB2 backend.

Built With

Share this project:

Updates