Most applications connect to an Ethereum Node through RPC, using a library like Web3.js and Nethereum. That introduces a need to deploy a full node side-by-side with the application, be it on the server or the user's machine, and communicate through sockets through loop-back adaptor.

This practice seems surprising to me - obvious alternative is to package a client as part of my server application, and have them run in-process. Do Ethernet clients have an API to be used as a library and is considered appropriate and "good design"? I mean either running them as part of back-end or in full-fat desktop client.

1 Answer 1


As far as i know there is no full client that could be loaded in a browser. There is a node client for Ethereum made by the EthereumJS team which appear to be in rough state. You'll find a similar question to yours here

However note that embedding a full client might no be a great idea, for many reasons :

  • Client would have to synchronize in order to be able to have the previous states. If you lurk around about the size of the chain, you'll find it's Gigabytes sized, which would be a huge download for browsers, more over if your connection is limited.

  • Browser would have to mine transactions, handle states, etc. That would consume important amounts of resources.

Also, note that you don't need to build your own node, you just need to know some nodes available and can perfectly decide to point out those nodes into your dApp as providers, which would avoid you to have to deploy your own node.

  • I am not trying to run it in the browser - I am trying to run it on the backend, doesn;t have to be Javascript- can be C++, Java, .net, etc.! Jan 23, 2018 at 23:53
  • Full-fat desktop client is fine too - I am just trying to avoid RPC and loopback - i want to use "proper" API, like you would use a library. Additionally, it seems that you should be able to run "light" clients that don't download entire block-chain but are "proper" independent block-chain clients, right? Jan 24, 2018 at 0:01

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.