-
Notifications
You must be signed in to change notification settings - Fork 4
Home
Welcome to the eSIM Wallet wiki!
This wiki is documented with the motivation of breaking down eSIM Wallet mobile app for everyone to understand.
Before getting into it, breakdown of eSIM Technology and Key Integration Point for building an eSIM wallet will help in understanding the project's tech stack.
- Android App is under development at this moment.
- Open source project which provides simple UX for managing eSIM profiles and non-custodial wallet to the end users.
- Allow users to purchase eSIM and manage data subscriptions along with managing crypto funds using smart contract wallet. EID AND ICCID ARE STORED ON EUICC SECURE ELEMENT, REQUIRES ACESS FROM CARRIER APPLICATIONS AND/OR SYSTEM APPLICATION .
- The application identify end users' based on unique identifier from eSIM for Smart Contract Wallet creation.
Successfully fetch EID and show it on the App UI.
The reason is the identify users’ uniquely.
💡 EID access requires CARRIER PRIVILEGES or Privilege Phone State PermissionTo mitigate this issue for the MVP we are creating a custom fingerprint that act as unique identifier for now.
💡 This is a temporary solution until we get privileges.The app in detail in explained in the last section as LPA(APP)
Clone the repo and follow the readme to test the apk, the below results are acquired:
- The App creates a custom device fingerprint to uniquely identify the users
- App bridge to android services and react native.
How to get (CARRIER PRIVILEGES? Work in progress)[https://github.com/Blockchain-Powered-eSIM/eSIM-Wallet/issues/44]
Method 1: Using Downloadable Test Profile
Using eSIM Test Profiles which requires a test certificate issued by a GSMA CI.
This is the guide provided to create test certificate and how to get issued by GSMA CI.
The device downloading the test profiles must have a test certificate issued by a GSMA CI.
- eSIM profile download and SM-DP+ handshake
- eUICC secure element (access and security)
- LPA app bridge to android services and react native frontend
- Wallet creation and Smart contract deployment
- Blockchain transactions through LPA/LUI
- Unit tests
eSIM-as-a-service Solution Providers are alternates since some of them are providing eSIM bundles with flexible subscription plans, SDKs for development and testing.
💡 a) eSIM API/SDKs approach to integrate in app and test credits for testing. 💡 b) In this scenario will share an apk signature (SHA-1 or SHA-256) to include in our APK!The development is moving forward with method 2.
The mobile application is being built using react native and eSIM android APIs. Within this app the users’ are identified uniquely based on a custom fingerprint and with a user identifier we create a smart contract wallet.
- Identify end users' uniquely
- Generate a keystore for end users'
- Authenticate eSIM and deploy smart contract wallet for end users'
- Simple UI to manage eSIM profiles and wallets.
This is work in progress and the documentation will be updated as the applications are being build.