Skip to content

damienen/reputation-system

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Zero-Knowledge KYC using MultiversX NFTs

deployed with: genezio

This project represents a Zero-Knowledge design for the usual KYC workflow. Its frontend and backend are hosted using genezio and the smart contract is on MultiversX. The KYC provider that was used is Passbase.

The project has the following workflow:

  • reputation giver
    • creates a space (an sft collection)
    • adds campaigns
    • can choose to distribute a campaign via KYC
  • reputation collector
    • can go to a space
    • can choose a campaign
    • can verify via KYC
    • can claim NFT once KYC is verified

This makes it so a user can complete a KYC once and receive a special NFT that shows everyone on the blockchain they completed the KYC without giving the other blockchain users access to their data.

You can interact with a deployed demo here.

Technical details

The project is deployed using genezio for both backend and frontend.

The CI/CD is automated using a Github Action in .github/workflows/deploy.yaml. For more details on how to use this action, check out the official documentation.

The SC is deployed using the interaction snippets created in the contract/snippets folder.

How to run the project

You can run the backend by going into the server folder and using the command:

genezio local

You can run the frontend by going into the client folder and using the command:

npm start

Note: Make sure to set your Wallet Connect V2 and Passbase keys in the .env file.

REACT_APP_WALLETCONNECTV2_KEY =
REACT_APP_PASSBASE_KEY =

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published