Project Name: Ujjo
Project Track: Web3
Team Name: Why not?
Team Member(s): 1
Dorahacks Project Link: Ujjo | Buidls | DoraHacks
Project Goal:
The project has multiple goals:
- Сreating an application for saving an account (wallet) on an NFC card. It is a cheaper alternative to Ledger and more reliable than writing on paper.
- Creation of infrastructure for the popularization of the TRON cryptocurrency (Including among those who have not previously used cryptocurrency). NFC cards can be used as gift cards or as an alternative to selling crypto through exchanges.
Source code: GitHub - tanya1997/ujjo
Project Info: Ujjo is a web application that allows you to create wallets and write them to NFC cards, as well as read information from previously written cards.
Main features of the application:
- Creating a new wallet and writing various tokens to it (TRC-20, TRX, TRC-721)
- Wallet export via private key
- Real-time wallet balance display
- Possibility to protect the wallet with a password when writing using the AES encryption algorithm
- Write and read wallet to NFC card
- Verification of the integrity of the private key when reading with crc
- The ability to send tokens to other wallets after reading the NFC card
Project Website: https://ujjo.netlify.app/
Project Test Instructions:
For testing, you will need an nft-enabled smartphone (on Android) and an NFC card 13.56 mhz (example)
Instructions for creating an NFC card:
- open website https://ujjo.netlify.app/
- click on the button “create card”
- create a wallet
- transfer test tokens (trx) to it on the nile or shasta chain
- set a password for the wallet (optional)
- write the wallet to the card by bringing the card to the smartphone
Instructions for reading NFC cards:
- open website https://ujjo.netlify.app/
- click on the button “scan card”
- bring the NFC card to the smartphone to read
- enter password (if required)
- after opening the wallet, you can see the balance and transfer tokens to another wallet
Project Details:
The application is a web application that allows you to read and create NFC cards. It works in the browser and does not require installation (Only for Android devices: smartphones, tablets or terminals).
Data written to NFC card (json):
{
/*private key encrypted or not (user selects)*/
"private_key":"U2FsdGVkX1/OOvC8Ek4y5Wgu22nkZgr5XEpkkG0CqF17ecgYQheKjyLf2SiS1dKSpW7lolfvcmvhpNWEdhvSHrtMS8p2vtHDLvHS481TPuCUIoGVueRYuClWOEQsQuka",
"crc":"9922b268", //crc for the key (the private key is always checked in decrypted form).
/*If the key is encrypted, then when the user enters the password, the correspondence between
the decrypted crc key and the given crc is checked.
Encryption method: AES.*/
"secure":"true", //flag indicating whether the private key is encrypted or not
"contracts":[ //list of tokens that will be shown in the wallet
"TXJFJ8nRLdS7ppymCpqUucta8bM2BYqFBh",
"TXLAQ63Xg1NAzckPwKHvzw7CSEmLMEqcdj"
]
}
Application screenshots:
Create card:
Scan card:
This is an example of NFC card design:
Demo video:
Previous videos:
This is a mini demo video (good quality video will come later):
YouTube
Demo2:
YouTube
Smart Contract links: The application does not use smart contracts
Project Milestones:
- The opportunity to create a new wallet
- The opportunity to record a wallet on an NFC card
- The opportunity to read the wallet from the NFC card
- The opportunity to protect the wallet with a password
- The opportunity to work in different chains (mainnet, shasta, nile)
- Checking the integrity of the card when reading (using crc)
- The opportunity to view and save the private key when creating and reading a card
- The opportunity to work with various tokens (usdd, custom tokens) and NFT