EIF'3 Week #4: Let's start building!

This week is the most exciting and challenging of all as in I started building mobile application for Developer Profile using Polygon ID integration.

Quick Recap

I am working on my project that aims to solve Proof of Work issue for developers by providing them private claims on their achievements that can be used to generate proofs.

Here’s the link to previous articles:

https://mirror.xyz/0x1c55DdbfdE4382AEa2Bb3F9d15A0b4c36D2fFB6E/jNghuTrhMjE6TTkAcfJRsD-XiuomyHw29rA1tr_6QyE

https://mirror.xyz/0x1c55DdbfdE4382AEa2Bb3F9d15A0b4c36D2fFB6E/qv5vtPMqPsZcMjm0KmSwj0BWrm83azgn7bqkynOqKE8

https://mirror.xyz/0x1c55DdbfdE4382AEa2Bb3F9d15A0b4c36D2fFB6E/u_txM-uCUktSOYkKIL12VkZvIjp5mhnM6Czd10WILPg

This week the focus was more on how to integrate Polygon ID SDKs like wallet & setting up issuer nodes.

About Polygon ID

Polygon ID’s identity infrastructure facilitates trusted and secure relationships between apps and users, following the principles of self-sovereign identity and privacy by default.

Flow Plan

The issuer node is the most important part of the whole product as it works as backend for dealing with both verifier, mobile app and issuer frontend.

As it will be a golang based server, it’s important to add additional authentication layers and integration with chainlink for decentralization (future plan).

Product Plan
Product Plan

Setting up issuer node

Issuer is the person / organisation that will give claims for different achievements that a developer do, for example: doing a course from learnweb3 DAO, they will issue claim for the developer to hold.

These claims are later used to generate proofs.

Setting up issuer nodes require docker support and there are multiple parts when put together makes the issuer node works:

  • The Issuer Application uses Verifiable Credentials to interact with users' wallets.

  • The Issuer Node in SendPulse utilizes HashiCorp's Vault for key management services to securely store sensitive data like the issuer's private key. A plugin called vault-plugin-secrets-iden3 is integrated into the Vault to sign data with Baby Jubjub Keys.

  • IPFS schemas for the Issuer Node are cached using Redis. This way, the application no longer needs to fetch schemas from an external source, but directly from Redis, thus improving performance.

  • Postgres is used as the data source for the Issuer Node's implementation. All data related to issued credentials are stored in the database.

For issuer node, we had to clone the following repository and setup configuration:

https://github.com/0xPolygonID/sh-id-platform

For configuration, its specific to your project in our case on Mumbai testnet. It requires docker setup and make up command to ensure everything is up and running.

Building custom wallet app for Developers

The custom wallet app for developer is focused to hold Verifiable Claims and ability to use these claims to generate proofs of work.

In order to do it, we will be using Polygon ID Wallet SDK.

The tricky part is that the SDK is not available on the pub website, you have to clone it and setup the environment variables to properly use it.

POLYGONID_ACCESS_MESSAGE="access_msg"
INFURA_URL="https://polygon-mumbai.g.alchemy.com/v2/_"
INFURA_RDP_URL="wss://polygon-mumbai.g.alchemy.com/v2/_"
INFURA_API_KEY="_"
REVERSE_HASH_SERVICE_URL='https://rhs-staging.polygonid.me/node/'
NETWORK_NAME="polygon"
NETWORK_ENV="mumbai"
ID_STATE_CONTRACT_ADDR='0x134B1BE34911E39A8397ec6289782989729807a4'

The contract address is on the polygon mumbai testnet.

Mobile Application

The idea is to give privacy, identity benefits and to increase engagement the app will provide community and tech updates features.

Home Screen
Home Screen
Claims Screen
Claims Screen

The UI is going to improve in the coming weeks, and the plan is to launch it on the stores by the end of fellowship.

Other updates

Also, this week a few improvements were made on the Developer Public profile page that now shows the contribution graph, project links to explorer of Sadaiv (on-chain github project) and more.

Plans for next week ⚡️

  • fix issues in the polygon id issuer node

  • enhance the mobile app UI and functionality for authentication

  • add logics for id authentication & claims acceptance

Thanks for reading till this point !!

Never. Stop. Building.