as title suggest, what I'm trying to do is to have multiple "app" that expose Json RPC endpoints, like get_balance, get_block / eth_getBlockByNumber / eth_getBlockByHash, so I need to read a full node, but I don't want to deploy and sync multiple identical nodes, 1 for each "API app".

There is a way, to spawn N "API apps" and "attach" (like the geth attach command) to a single ethereum data node?

P.s: I don't need to write on blockchain (deploy smart contracts, generate address, sign etc), just read.

Thank you.

  • Have you studied Infura's internal architecture? Jun 7, 2019 at 17:06
  • @RobHitchens-B9lab nope, i've seen and registered to the service but didn't find any paper on the architecture; and yes what I'm trying to build is a Infura-like system, but with a lot less latency (the node is on a local network)
    – GaORS
    Jun 10, 2019 at 9:28

3 Answers 3


If you don't want to have copy of the blockchain on your side just simply use Infura. These guys 'share' their running node. In your dapp you should use https://www.npmjs.com/package/web3 and initialize web3, but with infura provider (if you use MetaMask you can use their provider which is web3.currentProvider, but your metamask extension must be turned on). You need to make infura registration and create application where they will give you provider links for different ethereum networks.

  • thank you for the suggestion, but as I said I'm already registered on Infura, and the latency is too big, I just wanted to know if there is any app / client / environment with decoupled layers (layer that manage the node, API layer, etc).
    – GaORS
    Jun 11, 2019 at 14:55

I know it's not exactly what you're looking for but I'd be curious to know if the latency of Amberdata's API would be better? They are read only but they store verifiable blockchain data so it makes reads a lot faster for historical data. They also have an easy to use websocket endpoint for realtime blockchain or market data.

Let me know if that helps!


You can try Infura, which is like calling an API, (with https and websockets), but interacting with Ethereum node.

The architecture is the following:

enter image description here

Not only good news:

Also think that, although Infura is great, if every Dapps interact with Infura, it would be a big problem for decentralization in Ethereum.

This post can give you more info about.

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.