Overview

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.

eSIM Workaround

Embedded Systems Development

The eSIM implementation relies on the Android EuiccManager for managing embedded SIM cards. This component facilitates the provisioning and management of eSIM profiles.

SIM Toolkit (STK)

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.

DID Implementation

Decentralized Identity (DID)

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.

Zero-Knowledge Identity (ZKID)

Optionally, the ZKID protocol can be integrated for enhanced privacy through zero-knowledge proofs in identity transactions.

Blockchain Development

Ethereum Blockchain

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.

Solidity 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 Testing

Foundry is employed for testing, including unit testing, fuzz testing, and invariant testing. This ensures the robustness and security of the developed components.

Android Development