Many of you might think that this question has already been answered but I don't think that there is a clear answer on the internet for the current Ethereum, Web3.js and React Native versions (for 2018). In the blockchain space, answers that are 6 months old are obsolete.


I recently created a bunch of Ethereum smart contracts on a custom PoA private network and everything is working great on the browser using MetaMask and Truffle.

Now, the next step is to create a mobile application with React Native to interact with the smart contracts, handle public/private keys, etc (What MetaMask does for the browser).

So my question is: What is the best way to create an Ethereum dApp with React Native with the purpose of only creating and storing cryptographic material, creating and signing transactions? I don't want to create a light client but use the application with platforms like Infura (I know that it is not really decentralized but this is temporary before a light-client is available for Ethereum).

Has anyone already done that with web3.js v.1.0? What are the difficulties? Is web3.js enough? Can it be used with React Native?

Thank you


You basically just need a provider (like metamask) for your react native app. Everything else works both on a web browser and react native.

Check this: https://www.google.co.in/search?q=metamask+react+native&rlz=1C5CHFA_enIN786IN786&oq=metamask+react+native&aqs=chrome.0.0j69i57.4526j0j7&sourceid=chrome&ie=UTF-8

| improve this answer | |
  • Hi InfinitePrime, Thanks. If I understand correctly, using Web3 ProviderEngine from Metamask allows me to use all the wallet functionalities inside a RN app? This will be like having Metamask inside the application? There is sadly no documentation about this on their repo. – Dario Anongba Varela Apr 12 '18 at 9:24
  • Mostly, yes. But that is just the engine. You need to add more functionality on top of that. – InfinitePrime Apr 12 '18 at 10:18
  • using a provider does not answer the quesiton at all. It is for the moment impossible to use web3js with React Native and that's exactly what I need. If web3js works, using a provider is trivial. – Dario Anongba Varela Apr 20 '18 at 13:33

I have built and documented a react native boilerplate and shared the source code. You can see it here: https://jacksonng.org/minimum-viable-wallet-1

I used web3 and Ethereum light wallet modules to allow account creation and contract reading and signing.

With rn-nodify and node-lib-browser, it is possible to have web3 running in React Native.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.