I have a small Dapp written in Meteor (client only) that reads some contract and account info from the blockchain. I can deploy my front-end code for free on meteor.com (or a variety of other places), but I still need a node to connect to.

Do I need to host my own node? If so, any recommendations? I'm using Digital Ocean $5 VPS now, and it's really, really slow.

If not, are there free/public options?


You may use Infura as a "read only / signed transactions only" node.

The use of the API is free: https://infura.io

Your may recommend your users to use Metamask Browser extension to be able to sign transactions in your App.

| improve this answer | |
  • Whilst this may theoretically answer the question, it would be preferable to include the essential parts of the answer here, and provide the link for reference. – Afr Jan 30 '17 at 11:36
  • 1
    @digitaldonkey What makes it a read-only node? Methods like eth_sendRawTransaction enables us to write new data as well, right? – jeff Apr 9 '17 at 18:06
  • @jeff You are right. But you will need a transaction-signer (like Metamask.io) in order sign transactions on the frontend side in order to "write" into the blockchain. Infura has no eth_coinbase so you can't use it to "write" unsigned data. – digitaldonkey Apr 10 '17 at 12:39
  • 1
    @digitaldonkey Good point. Maybe we should call it a signed-only node? :) – jeff Apr 10 '17 at 14:30
  • Noob question from someone struggling to get all this, but if I am developing a native app, the private key can be part of the native app and the signature generated by the app right? I mean, beyond that I wouldn't need something like metamask in that case, correct? – Sentinel May 25 '17 at 10:22

If you are deploying an app at scale, you probably don't want a mere node. You want a full and performant web API. There are several available: I've personally used etherscan.io and been reasonably happy with it.

If it's just a testing project, spinning up your own node isn't too bad. But if you're using any of the actual node functionality, such as accounts, then you can't really use someone else's. And if you're not...web API all the way.

| improve this answer | |
  • etherscan's "proxy" API is incompatible with JSON-RPC, though, so you can't point web3.js at it. – Nick Johnson Apr 2 '16 at 14:17
  • Right, that's my second bolded point. – Jeff Coleman Apr 6 '16 at 1:22
  • This kind of thing is confusing me about Ethereum - I thought the whole point was decentralization but it seems if you want to develop a distributed app, you still need to go to Azure or something to host a node. I feel like I am missing something. – Sentinel May 25 '17 at 10:19
  • 1
    @Sentinel you don't need to go through Azure or AWS to host a node, you can always spin up your own node on your own metal, its just a pain in the ass. – OneChillDude Jan 30 '18 at 0:33

AFAIK Mist is meant to provide you access to a node locally (the official Ethereum wallet is a full node), but I don't know if it is functional yet.

An alternative would be e.g. MetaMask (in alpha).

| improve this answer | |
  • Yeah, I have no problem running a node locally, but I can't/won't leave my personal computer running 24/7 to power a Dapp. I signed up for updates to MetaMask. – eterps Jan 24 '16 at 5:11
  • Note MetaMask is a web3js wrapper connecting to Infura. – digitaldonkey Mar 22 '17 at 10:54

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