Skip to content

panaverse-io/identiFi

 
 

Repository files navigation


Project Banner
typescript nextdotjs tailwindcss

identiFi

Build this project step by step with our detailed tutorial on Your YouTube Channel. Join the community!
  1. 🤖 Introduction
  2. ⚙️ Tech Stack
  3. 🔋 Features
  4. 🤸 Quick Start
  5. 🕸️ Smart Contract Overview
  6. 🖼️ Storing Images on IPFS
  7. 🚀 More

🚨 Tutorial

This repository contains the code corresponding to an in-depth tutorial available on our YouTube channel, Code with Albert.

If you prefer visual learning, this is the perfect resource for you. Follow our tutorial to learn how to build projects like these step-by-step in a beginner-friendly manner!

The current digital identity landscape is often fragmented and insecure, making it challenging for users to manage and verify their identities across different platforms. identiFi was inspired by the potential of blockchain technology to create a unified, secure, and verifiable digital identity solution that empowers users to manage their identities seamlessly.

  • Next.js
  • TypeScript
  • Solidity
  • Hardhat
  • Chainlink VRF
  • IPFS
  • Decentralized Identifiers (DIDs): Create and manage unique DIDs on the blockchain.
  • Identity Verification: Submit identity documents for verification by trusted third parties.
  • Credential Verification: Verify the authenticity of credentials.
  • User Profile Management: Update personal details and manage credentials easily.
  • Privacy Controls: Control who can access identity information and under what circumstances.
  • Security Measures: Strong security measures including encryption and secure key management.
  • Social Media Integration: Share your verified digital identity on various social media platforms.
  • Profile Editing: Easily update and manage your digital identity profile.

Follow these steps to set up the project locally on your machine.

Prerequisites

Make sure you have the following installed on your machine:

Cloning the Repository

git clone https://github.com/blocklinklabs/IdentiFi.git
cd identifi

Installation

Install the project dependencies using npm:

npm install

Compile the Contracts

npx hardhat compile

Deploy the Contracts

npx hardhat run scripts/deploy.js --network yourNetwork

Run the Development Server

npm start

Open http://localhost:3000 in your browser to view the project.

The main contract, IdentiFi, manages user profiles, DIDs, and credentials.

Key Functions

  • createUser: Creates a new user profile and requests a new DID using Chainlink VRF.
  • editUser: Edits an existing user profile.
  • getUserByUsername: Retrieves user information by username.
  • getUserByAddress: Retrieves user information by address.
  • addJob: Adds a job to the user's profile.
  • getJobs: Retrieves jobs associated with a user.
  • setVisibility: Sets visibility preferences for user profile information.
  • getVisibility: Gets visibility preferences for user profile information.
  • batchCreateUsers: Batch creates multiple user profiles using Monobean.

User images are uploaded and stored on IPFS. This ensures that images are stored in a decentralized manner, enhancing security and accessibility.

For more information and additional resources, check out our YouTube channel and join our Discord community for support and discussions.

We welcome contributions to identiFi! To contribute, please follow these steps:

  1. Fork the repository.
  2. Create a new branch for your feature or bug fix.
  3. Make your changes and commit them.
  4. Push your changes to your fork.
  5. Submit a pull request to the main repository.

This project is licensed under the MIT License. See the LICENSE file for details.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 79.9%
  • JavaScript 14.0%
  • Solidity 4.0%
  • CSS 2.1%