Skip to content

An extension of Metamask that focusses on decentralized storage and improving the user experience.

Notifications You must be signed in to change notification settings

pps-19012/VaultMask

 
 

Repository files navigation

VaultMask

forthebadge forthebadge

VaultMask Logo

Vautlmask is an extension of metamask that focusses on decentralized storage and improving the user experience.

Table Of Contents

Quick Start

Follow these steps to run the snap on your system:

  • Clone the repo.
  • Go to the Hardhat folder and add .env file. Export the private key from your Metamask Flask account and add it to the .env file. Following is an example:

PRIVATE_KEY = '93890b27049e34dc1c9b954d76c8c366b9aa4349b46bc33391e2bdcb8348ac86'.

Attention: The information above is intended for illustration purposes only. Never disclose your private keys to anyone.

  • In the Hardhat folder:

    • Run yarn install
  • In the VaultMask folder:

    • Run yarn install
    • Run yarn start

Note: To run this snap, you must be on the Hyperspace testnest and have some tFIL in your account.

Go to the Hyperspace testnet faucet, and paste in your Ethereum address. This will send some hyperspace testnet FIL to the account.

Features

Storage

The primary function of vaultmask is storage. It has two kinds of storage option depending upon the user requirement:

Snaps Storage

  • Personal data
  • Upload upto 100 MB of data
  • Retrieve data
  • Ease of Access
  • functions: get, update, clear

Filecoin Storage

  • Data Storage
    • stored in smart contract
    • add address to share
  • IPFS Protocol - Secure
  • Store unlimited data
  • Retrieve data
  • functions: add_record, get_record

Notifications

The secondary function of vaultmask is storage. It has two kinds of storage option depending upon the user requirement:

Push Notifications

  • Push protocol
  • Notify in snap
  • Regular updates from subscribed channel
  • functions: push_notification

Custom Messages

  • Popup with custom text
  • Transaction with confirmation texts
  • User-friendly

Workflow

workflow

  • Snaps component: Vaultmask can store the data on snaps storage and get the data on demand. It also has a function to clear data.
  • Filecoin storage component: Vaultmask uploads files to web3.storage and a cid hash is generated. It is later stored in smart contract with the filename and other transaction information. We can retrieve the file information and user related data using the methods present in smart contract.
  • Push notifications are shown whenever a channel updates something. It uses push protocol.
  • For improved user experience during the transactions, Vaultmask can show custom messages during pop ups and confirmations.

Demo

website Following is our demonstration of the snap: Demo

File Sharing

To perform file sharing:

  • Upload the file and submit. It will load for a few moments before MetaMask pops up. upload and submit
  • As you can see, the file is added in table. table
  • Afterwads, enter the address of the account that you want the file to be shared with. Click on the file you want to share. sharing

Future possibilities

The future possibilities of a general purpose storage snap like this is limitless. It can be used in decentralized data marketplaces, improved data management and decentralized data analytics. We believe in the vast potential of vaultmask and will be exploring new features and possibilities in future.

About

An extension of Metamask that focusses on decentralized storage and improving the user experience.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 90.9%
  • JavaScript 5.8%
  • Solidity 3.3%