This documentation provides a comprehensive guide on creating a crypto wallet with eSIM implementation. The solution integrates eSIM technology, decentralized identity (DID) implementation, and blockchain development to ensure a secure and efficient crypto wallet experience. The tech stack includes embedded systems development, DID implementation using eSIM credentials, Ethereum blockchain development with Solidity smart contracts, and Android development using Java/Kotlin.
The eSIM implementation relies on the Android EuiccManager for managing embedded SIM cards. This component facilitates the provisioning and management of eSIM profiles.
Optionally, the traditional SIM Toolkit (STK) can be included for managing SIM applications and interactions. This can provide compatibility with devices that do not support eSIM.
The DID implementation leverages the W3C DID Core standard. The eSIM credentials, managed through Subscription Manager Data Preparation (SM-DP+), are utilized as the foundation for secure and decentralized identity.
Optionally, the ZKID protocol can be integrated for enhanced privacy through zero-knowledge proofs in identity transactions.
The core of the crypto wallet relies on the Ethereum blockchain for processing transactions, deploying smart contracts and executing smart contract functionalities, and integrating the dApp (Decentralised Application) with the smart contracts.
Smart contracts, written in Solidity, automate and enforce the rules of the crypto wallet. They manage transactions, track user balances, and interact with the Ethereum blockchain.
Foundry is employed for testing, including unit testing, fuzz testing, and invariant testing. This ensures the robustness and security of the developed components.