Skip to content
This repository has been archived by the owner on Jul 18, 2020. It is now read-only.

Aragon Nest Proposal: React Native SDK for making mobile apps for Ethereum dapps #95

Closed
pcowgill opened this issue Sep 21, 2018 · 3 comments

Comments

@pcowgill
Copy link

pcowgill commented Sep 21, 2018

Aragon Nest Proposal: React Native SDK for making mobile apps for Ethereum dapps

Abstract

Today, using a dapp from a phone is painful. Almost no dapps have standalone mobile apps, and I’m not easily able to use a dapp without ETH or with the ETH I have in another wallet. The Ethereum community loses mainstream people from the onboarding funnel because of this. Some dapps can be used inside a single app like Coinbase Wallet or Status that serves as a dapp browser, but this feels like a terribly broken UX for anyone who has been using a mobile phone for a while, and it also feels like broken UX for people who are used to using web-based dapps with MetaMask.

This can be solved with a JavaScript SDK for writing mobile apps for Ethereum dapps in React Native, which helps developers build new mobile dapps more quickly without reinventing the wheel for basic features. The SDK enhances the Ethereum ecosystem by enabling developers to build mobile dapps more easily, which removes a key barrier to mainstream adoption of Ethereum dapps. It also enhances the Aragon ecosystem by providing an early use case for APM, by enabling easier creation of mobile apps leveraging AragonOS, and by potentially using an Aragon organization to manage the open source project.

Deliverables

  1. Account and private key generation and connecting with your preferred wallet: Using the SDK, you can generate a new Ethereum account and private key for a user. The intended UX is that this account should NOT have ETH, ERC20, or ERC721 tokens sent to it. This app is NOT a wallet. Instead, this address should be authorized to perform actions on behalf of a smart-contract-based wallet a user already has with some ETH or tokens. Through compatibility with WalletConnect, any app can be authorized to take actions in a way that has only been possible in wallet apps to date. The wallet might be an Aragon personal DAO, the Gnosis Safe personal edition, the Balance wallet, any wallet that may be built to be compatible with Alex Van de Sande’s universal logins (ERC 1077 and 1078), Status, etc.

  2. Injecting Web3 + JavaScript middleware for reading from and writing to smart contracts: The SDK provides tooling for Web3 to be injected in each mobile app it is used in. It also provides JavaScript middleware for reading from and writing to smart contracts through an expressive API.

  3. An npm and/or APM package with a CLI that can automatically generate the scaffolding for a mobile dapp project. This app scaffold comes ready to submit for beta testing on iOS with Testflight and on Android with the Google Play Beta track.

  4. For popular ERC standards like ERC-721 for NFTs, it can instantly generate a standalone mobile dapp for a particular NFT, like CryptoKitties or Decentraland land. Classes of smart contracts it supports will include NFTs, TCRs, DAOs, and two-sided marketplaces. If funded, SDK support for Aragon apps would be prioritized (and this most likely will be prioritized anyway!). There’s an ERC-standard-specific JavaScript API wrapping the core JavaScript middleware so that the function-names in the SDK are tailored to that type of dapp. As long as the tooling has been built to interact with that class of dapp at least once before, the SDK can “automagically” support any new dapp of that type. This means there’s a network effect for the SDK, so once there are a few apps using it, it will be much faster to make new apps with it.

Grant size

Funding: $100k in ETH, split into chunks paid out over achieved deliverables.

Success reward: $50k in ANT, given out when all deliverables are ready.

Application requirements

  • Project name
  • A description of the technical plans for implementation
  • Details of the team members, alongside with their willingness in terms of implication
  • Estimated average burn rate (and the funding allocation contributing to that burn rate) for completing the deliverables
  • Legal structure to be adopted, if any
  • A description of how the project will be maintained after the initial grant term

Development timeline

The development timeline will be the following one:

Note: A “type” of dapp below is used to mean a dapp implementing a well-defined ERC standard, like ERC-721.

3 months (Jan 2019)

  • SDK 0.1.0 is released with deliverable 1 and 2
  • It supports 1 type of dapp
  • It’s in use by 1 proof-of-concept app on TestFlight for iOS on a testnet

6 months (Apr 2019)

  • SDK 1.0.0 is released with all 4 deliverables
  • It support 3 types of dapps
  • It’s in use by 2 proof-of-concept apps on TestFlight for iOS and/or the Android Beta Track in Google Play on a testnet
  • It’s in use by 1 live app on the iOS App Store or the Android Google Play Store on mainnet

12 months (Oct 2019)

  • SDK 2.0.0 is released
  • Improvements on all 4 deliverables along these dimensions: End-user UX, developer UX, technical debt, and documentation
  • It supports 4 types of dapps
  • It’s in use by 10 proof-of-concept apps on TestFlight for iOS and/or the Android Beta Track in Google Play on a testnet
  • It’s in use by 3 live apps on the iOS App Store or the Android Google Play Store on mainnet
@mariapao
Copy link
Contributor

mariapao commented Oct 11, 2018

Hi @pcowgill thank you very much for submitting your proposal.

We reviewed the application and discussed it. We came to the conclusion that building a completely Aragon native mobile app is not a priority for the project right now and if we do it in the future it would be only for Aragon. Therefore, we have decided not to approve this proposal at the moment. These priorities might change as the project evolves so If in the future you are working on something that is a fit for the program, do not hesitate to apply again. We appreciate your participation very much!

@pcowgill
Copy link
Author

@mariapao Thanks so much for your consideration! I'm a big fan of Aragon, and I wish you all the best.

I think making it simple to create native mobile dapps is critical for mainstream adoption. If any other developers who find this GitHub issue share this belief, please reach out to me! I'd be happy to get you involved in hacking on this project.

https://github.com/tasitlabs/tasitsdk

@pcowgill
Copy link
Author

I'm considering resubmitting a variant of this Nest proposal that's focused on creating a native mobile app specifically for Aragon. The funding ask would be lower as well.

Details here:
https://forum.aragon.org/t/funding-proposal-aragon-native-mobile-app/811

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants