Evolution — eif_0.3_0.8
Hello folks!
The last report of the Human Wallet journey is here. Oh btw, we have a name for it — One! One wallet for all your crypto needs.
This week was the last one at EIF 3.0 and I am feeling spontaneous and happy with a tinge of sadness. I had a really good time meeting the EIF deadlines and working under pressure. :P
Counterintuitive but well, being accountable for your passion project works out for the best. More about building in week 8, it was hectic and I’ve made massive progress in the last few days. From getting the onboarding flow just right to creating a simple Send ETH screen for testing purposes.
Where are we now
The Human wallet is now able to onboard users with their phone numbers and create an account for them. How simple is the onboarding? Well, open the wallet, enter phone number, verify OTP, select a username and kaboom. You’ve a wallet which can now do all wallet things. The application has a Send feature for testing. More to come soon. Users can also pause their accounts and stop all future transactions until it is unpaused.
Week 8 started with adding keyring functionalities to the web application. The keyring allows us to have multiple accounts and encrypt them with a device PIN. After ironing out a few handlers, we were good to go on the onboarding front. Users could now create new accounts on the wallet with their mobile numbers.
Next up was adding a Send ETH feature to the wallet to test out if the keyrings and providers work as expected. To my surprise, yes they do!
This has been all about the demo application that I have built in the second half of the fellowship. The first one was heavily based on getting out stories from users and understanding what sort of experiences are needed to make life simpler for a crypto user. I will be taking these thoughts and observations ahead with the project to build out the Human Wallet.
Hiccups
Account abstraction with ERC4337 is very tricky business. There are a ton of moving parts to the whole system and many checks in place to ensure smooth execution. Which implies a lot of edge cases, staking requirements and even more build time. It has been rewarding and nerve wracking to discover everything 4337 related!
Right now I am facing issues with hosting my own Paymaster which is needed to pay gas fees for new accounts being deployed. Once that is sorted next up is refactoring and ironing out a few edge cases in the onboarding logic. Also web3Auth came up with native sms auth, so gotta switch to that asap and ditch firebase.
Also Vite broke my heart with build failures at the last moment. I have no clue why it’s failing. So I’ll be porting the codebase to CRA and hope for the best.
Looking forward to…?
I’ve learned that the milestones I set for myself were a little more optimistic and that I need an intern to write CSS for my app. Just kidding. No, I need that intern asap.
I am keen on building this product and have it tested soon. Features like fingerprint unlock and alternate recovery mechanisms are up next. There is a ton of work ahead and it is going to be fun figuring this out. Which is why I would be building in Nights and Weekends S3 with Ankit Pal (Polygon Fellow and, an unhealthly relentless builder).
That is all from the ETHIndia Fellowship 3.0, see you soon!