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

2 Answers 2


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

  • 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. Commented Apr 12, 2018 at 9:24
  • Mostly, yes. But that is just the engine. You need to add more functionality on top of that. Commented Apr 12, 2018 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. Commented Apr 20, 2018 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.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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