I have developed a contract and a basic dapp. It works on my local environment with my local test node.

Now I would like to understand how it can be distributed so that a user doesn't have to run a full node.

Maybe the user needs something like Metamask? If yes, I would like to know if I have tell my dapp not to point to http://localhost:8545 but to a Metamask node Or maybe I'm off track...

2 Answers 2


Currently the Ethereum-JS client does not have a truly peer-to-peer way to request blocks, so someone needs to host an RPC server for the moment.

You can host this yourself, or you can encourage your users to use MetaMask or Mist. The advantage of those browsers is that in addition to handling the blockchain connection, they also handle user accounts, which is another pain point and security issue for many basic Dapps.

Fortunately, there's a lot of good work being done on peer-to-peer browser based Ethereum clients, including a demo from Devcon 2 where the IPFS team showed a browser client synchronizing entirely from other browser peers, so we're getting there, just not yet.

As a MetaMask developer, I can tell you we're very excited to have actual Ethereum clients running in the browser, and will be keeping our client as peer-to-peer as possible within the browser context, as our options mature.

  • I am new to Ethereum but studying intensely in my spare time. I have a project concept I am researching and I am now looking at Ethereum as the platform for this project. It's hard for me at the moment to understand the whole ecosystem of technologies here. With that, for a mobile application that would run as a native DApp "client" (by client I mean a front end app, not a node), would it make sense to develop a component that takes care of the P2P networking, looking for nodes etc., is there something like that already out there?
    – Sentinel
    Commented May 25, 2017 at 6:45
  • That's a very open ended question, and deserves rich discussion. I recommend asking it on a more discussion-centric forum like reddit.com/r/ethereum.
    – DanF
    Commented May 25, 2017 at 20:40

You can host a Geth (or other) node in the cloud and give its static IP to your users. Beware that the RAM requirements can go up fast, depending on the number of concurrent users, though.

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.