5

Recently I’ve been doing some research on blockchains and smart contracts. I came across the concept of public, access controled and private blockchains and smart contracts. Ethereum and Eris can be used to develop such kinds of Dapps. But I need some more explanation about this.

In Case of Ethereum, the user of Dapp should have an Ethereum enabled browser like Mist or a browser with Metamask and a local node to interact with Ethereum and the Dapp smart contracts.

So would a user need to run an Ethereum enabled browser and a local node with Eris based access controled Dapps deployed on cloud or only parties that are involved in operationg the Dapp would have to run a node ?

Thanks.

  • 1
    Your question title doesn't reflect your actual question. Also you should try to split your question as you ask 3 different points in the same question. I'll try an edit. – Nicolas Massart May 8 '16 at 9:28
4

In principle the way end users interact with permissioned chains like Eris and Hydrachain is exactly the same as the way they interact with Ethereum. There are a bunch of nodes running in the network, some of which are mining (or in the case of Eris/Hydrachain, validating) but mining/validating isn't necessary to interact with the network.

So you need a piece of software that the user will interact with, most typically a general-purpose smart contract browser like Mist or a dedicated JavaScript app. This will in turn need to talk to a node connected to the network, which will often be running locally (although as with Ethereum, it doesn't have to be).

The twist is that sometimes people want their permissioned networks to be private, so transactions on them can only be seen by people with special permission. To achieve this you can put both the node and the browser that's accessing it inside a private network or VPN. Alternatively you can run some server process (when I had to do this I used express.js and socket.io) to talk to the node, and have that process mediate communication with the user's browser, including managing access permissions.

  • 1
    So does it mean we can host the ethereum node somewhere on cloud and create a javascript based application to interact with network via that ethereum node hosted on cloud, and in such case users will not require special browsers like mist, is that right? – Noman Mulla May 8 '16 at 12:01
  • 1
    Right, you can do it that way. However, the hitch is that your user's keys need to be stored somewhere. The conventional way to do this is that the user connects their own node on localhost, and nobody else can connect to that node. If you want them to connect directly to a node that they don't own, you need to manage their keys in the browser or in some intermediate server process. – Edmund Edgar May 8 '16 at 12:33
  • 1
    Thanks Edmund. So are there any resources which describes how ethereum nodes/eris can be hosted on cloud and a javascript app can interact with it without requiring any special browser by the end users? – Noman Mulla May 8 '16 at 16:20
  • 2
    I don't know of a systematic introduction to this but: Interacting with a node with a custom JavaScript app rather than a general-purpose browser is a standard way to use Ethereum, so start with anything using web3.js. If you want to manage keys in the browser rather than expecting that the node you connect to will have your keys and be able to sign things for you, google around hooked-web3-provider. If you're making an intermediate server process to mediate between your node and the browser, I'd suggest reading up on express.js, but there are lots of other ways to do it. – Edmund Edgar May 8 '16 at 22:39

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.