Running Dapp on a mobile device with Status
This is a continuation of my post about Ethereum on the Cloud and Smart Contract execution with MetaMask. MetaMask is a Google Chrome extension and runs only on desktops. I wanted to execute Dapps on a mobile device on the go. Enters Status. Status is a mobile application on Android and iPhone. It allows you to run Decentralized apps, stores your ETH in a wallet and send/receive ETH from another person. It also runs like chatbot.
Status is currently in Alpha phase. Through its website, you can enter your email address and receive an invitation to join the Alpha community and download Status in the Play Store. The testing community is not accepting new members for now, so you could either build Status with its codes from Github, or download and install a nightly build here. Just pick the latest one.
Running the voting app in Status
In my blog post about Ethereum on the Cloud and Smart Contract execution, I took Manesh's Dapp tutorial and deployed it on the cloud and ran the Dapp on a browser with MetaMask. It was fine but I wished this would have worked on an Android device. So here's how Status made it possible.
Start Status, create your account. Then transfer some ETH to yourself from the faucet. In its Alpha state, Status connects only to the Ropsten testnet - which was fine because I have no real ETH anyway (My screen capture doesn't say 1 ETH because I spent some while testing my contract).
Next, execute the following command on Status:
@browse <your Dapp URL>
Your Dapp comes up and you can now interact with it like how you did when it was in desktop mode. I voted by entering the name of the person to vote for. The wallet pops up to challenge me for my password. Confirm the transaction and you will see your ETH reduce slightly.
Hang on while your transaction gets written to the blockchain. Finally, votes are updated, and it happened on my mobile phone just like how I wished it would.
It's time to revisit the Going Dutch Smart Contract that I left partially done. That project had a smart contract, but no Dapp. It's time to build the Dapp so that Mark, my technologically challenged buddy can finally go dutch with me on the go with his mobile phone.
A point that bugs me about Status is that I am running my Dapp in a browser-cum-wallet of sorts. I would have wanted Going Dutch to be a mobile app. When it is time to execute a contract, I will imagine it popping up my Ethereum wallet to confirm that I am authorizing an execution and allowing my ETH to be taken away from me. Perhaps this will happen at some point in the future.