Project Name: SunID
Project Track: Web3
Team Name: ZUNI
Team Member(s): @vinhtran @david7
DevPost Project Link
Project Goal: To create a DeSo dApp that connects real-life data with blockchain on Tron. Think of it as a one-stop-shop where anyone can issue or receive claims about pretty much anything in life.
Project Value: SunID addresses the lack of a DeSo application in the Tron ecosystem that connects real-world data with on-chain information. It unifies and authenticates fragmented data points, ensuring trust and accessibility. By leveraging blockchain technology, SunID provides a secure, transparent, and decentralized platform for managing and verifying various claims, from credentials to financial statuses.
Project Info
sunid_project.pdf (1.4 MB)
Project Details: SunID is your bridge between the real world and the blockchain universe! It works with two main players: issuers and holders. Issuers dish out credentials, and holders receive them. These credentials can be stored on-chain (Tron blockchain) or off-chain (BTFS), depending on your needs.
System Design
Key Features:
- Flexible Storage: Credentials can be stored either on-chain (using the TRON network) or off-chain (via BTFS), giving users control over their storage preferences.
- Issue and Revoke: Simple, user-friendly system for issuing and revoking credentials. Easy peasy.
- Unique Credential ID: Each credential has a unique ID for easy revocation and verification.
The platform is open-source, so feel free to jump in with ideas and improvements!
Project Website: sunid.xyz
Project Test Instructions
Heads up! We’re working on the Shasta network. To grab some test tokens, hop over to Shasta Tron Faucet.
Main Workflows in SunID
1. Create Schema:
Schemas define the data fields and types used in credentials. Each schema gets a unique ID on-chain.
- Step 1: Go to Schema Page and connect your wallet.
- Step 2: Click the
Create Schema
button. - Step 3: Complete the form:
- Name: The schema’s name.
- Schema Definition: * Define your schema’s template to specify data types for credentials.
- Resolver Address (Optional): The TRON address of the entity responsible for managing the schema (e.g., a contract that authorizes certain schemas).
- Revocable: Specify whether credentials issued under this schema can be revoked.
2. Issue a Credential:
Prerequisite: You must have an existing schema to issue credentials.
- Step 1: Select the schema you want to use.
- Step 2: In the Schema Detail page, click the
Issue Credential With This Schema
button. - Step 3: Fill out the form:
- Recipient: TRON address of credential recipeint.
- Credential Data: Provide data according to the schema template.
- Advanced options:
- Expiration: Set an expiration date for the credential; if not set, the credential will not expire.
- RefUID: Reference a Credential UID.
- Revocable: Select if the schema allows revocable credentials. If set to “Yes” the issuer can later revoke the credential.
- Step 4: Choose whether to issue the credential on-chain or off-chain:
- On-chain credentials will be stored on Tron.
- Off-chain credentials will be stored on BTFS.
3. Revoke a Credential:
Prerequisite: You must be a credential issuer.
- Step 1: Select the schema you used to issue the credential you want to revoke. You can find the credential in two ways:
- If you have the credential UID, use the search bar at the top of the page.
- Click on the
My Credentials
tab to see all issued credentials.
- Step 2: Click on Revoke button on the top right corner.
- For offchain credentials, this submits the credential UID to chain. Verifiers can check if this Credential UID is revoked by querying the chain.
Smart Contract Deployment:
TRON Shasta Testnet
Contract | Address |
---|---|
SchemaRegistry | TKn3gkDn587qQFjh9CrmQYqetctCfniL5f |
SunID | TUYwo4WqGLVEpCrtbU7zHnrc7nzdoNNU5c |
Project Milestones:
SunID is continuously evolving to provide better services and enhanced functionality. Here are the upcoming project milestones:
- Onchain/Offchain Storage: Support issuing credentials on Tron and BTFS
- Enhanced Data Indexing: Improve on-chain data indexers for more efficient and seamless data access.
- Service Dockerization: Dockerize APIs and Explorer services, enabling users to easily deploy personalized, custom services.
- Wallet Integration: Develop a plugin to add SunID credentials as assets in TronLink or a custom version of TronLink.
- Privacy Enhancement: Implement zero-knowledge proof technology to verify on-chain credentials, significantly improving privacy and security.
(Note: Milestones will be updated as we go, just keeping it flexible!)
Community Love:
We’re always open to contributions, feedback, or even just a chat! Feel free to reach out if you’ve got questions or ideas. Let’s build something amazing together!