Skip to content

Latest commit

 

History

History
50 lines (34 loc) · 1.73 KB

README.md

File metadata and controls

50 lines (34 loc) · 1.73 KB

🚀 DACEData

DACEdata also know as Decentralised Access Control Encrypted data is a platform that allows users to

1. Store data in a decentralised database such as Filecoin's IPFS.
3. Encrypt and lock data using an on chain condition.
3. Decrypt locked data based on the given on chain condition.

💻 Tech Stack

  • Solidity
  • IPFS
  • Lit Protocol
  • Sign in With Ethereum (SIWE)

Description

Users are able to store data in a decentralised fashion, this data is encrpypted and can only be accessed by authorised party. This data includes content like json, images etc. Giving access is as easy as adding an address by interacting with the smart contract.

🧭 Structure

  1. Backend

    • utils.js contains utilities functions

    • EncryptSave.js allows users Encrypt and Save data in IPFS by

      • Sign a transaction.
      • Zip and Encrypt the data.
      • Create an Encrpytion key based on an EVM based condition (Access Control Condition based on Smart Contract) (More Explanation in Contract).
      • Encrypted Symmetric Key saved on the Smart Contract.
      • Get an IPFS CID to help share data with people.
    • DecrpytView allows users to Decrypt and View/Save data from IPFS by

      • Sign a transaction.
      • Get data from IPFS CID.
      • Decrypt the data of an IPFS CID using the EVM based condition.
  2. Contract

    • Dace.sol
      • Allows users to Add and Delete Ethereum Addresses that can have access to data (Access Control Condition based on Smart Contract)
      • Stores the Encrypted Symmetric Key of each CID.

    Contract Address on Polygon - 0x46de762fe5A3bbC73918B8c3cFe466d18Dd58903

  3. Data

    • Dummy datas for testing.

📹 Demo

https://youtu.be/gyZMG-PGp3c