When it come to financial education, we have noticed that majority of the people are bad at it. Studies estimates that up to one-third of the fees and charges paid by those with lower debt literacy is due to a lack of knowledge (https://www.theatlantic.com/business/archive/2016/05/financial-literacy/480807/) . Nearly 7 in 10 Americans have less than $1,000 in savings (https://www.usatoday.com/story/money/personalfinance/2016/10/09/savings-study/91083712/). We believe that to change this, people need to learn about finance at a young age. To help solve this, we designed Pocket.
What it does
A major use of Pocket is for parents to create smart contract controlled pocket change for kids. Parents can create debit card contract for kids where they incentivize wise usage of the funds by the kids. The fund can be controlled by multiple parent and access to funds can be fully controlled and monitored by them.
The app also has a merchant view - that merchants can use to charge people for various products and services. People can also transfer funds between each other using this feature. Again, the nature of the transaction can be controlled by the issuer of the debit card.
To make the app fun to use, we have created a tap to pay functionality, where, users can pay each other by simply creating a checkout and bringing the phone close to each other to make transactions. To add a level of security we are using finger print scanner technology.
How we built it
We first looked into the technology that we could use. Our team has strong bracakroud in React Native, Solidity and Objective C. We tried using objective c but there were lots of technological hurdles with it. So we decided to go with React-native and had to heck its structure to make things work. After the hackathon we are going to write a detail blog post explaining the challenges of building dapps on the mobile.
Challenges we ran into
With a background in mobile development for the last 10 years, its clear us that reaching critical mass requires deployment on mobile
Thus our project focused on 1) Delivering the ethereal network over mobile accessibility
- Reaching the Youth who spend the most time on mobile
It is clear to us post hackathon, that the ethereal toolchain is not quite ready for mobile workflows We overcame a series of challenges that took our vast years of experience in mobile development
Interaction with the blockchain requires a web bridge and a single web view context. For this reason, we had to break reacts workflow. We decided to take this approach as trying to compile and run geth node directly on iOS devices proved to be far from straightforward.
loading contracts into the web bridge context requires manual linking if your solidity contract has dependencies (solcjs)
Transmitting information via P2P connectionless bluetooth
Accomplishments that we're proud of
We very excited by what we have been able to hack together in under 36 hrs. We have a functioning app that connects to our go ethereum node and execute smart contracts invoked by the app. We love the tap to pay feature that we have build, bringing a phone close to the other and simply 'tapping to pay' is very fun to do!
What we learned
Overall, we have gained experience in bringing ethereum into the domain of consumer mobile apps. We hope to create tools and tutorials that reflect our new found understanding of mechanisms to adopt ethereum into mobile ecosystems.
Granted their is an issue of trust when running the infrastructure in the way we have. Firstly, the system is not fully trustless. The ethereum node that acts as the provider for our mobile clients exposes itself online. A ideal scenario would entail a mobile client connecting to a know rpc node in a VPN.
In closing, wrestling with delivering ethereum to a mobile community led us to a loss of dev time on aspects that mattered most to us. Primarily, improving the gamification aspects of our
What's next for Pocket
We have launched Pocket as a open source software and will integrate it into GoNetwork (https://gonetwork.co/). Parents can then control spending of kids on various apps - eg: they can reward them for using their budget on educational app and control how much and when kids are allowed to spend, friends can send funds to each other with a simple tap and pay, lots of other cool use cases are possible! We will continue building it and add more cool features to it. GoNetwork is a secure decentralized virtual goods commerce platform leveraging the blockchain technology.