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
  • 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. May 8, 2016 at 9:28

1 Answer 1

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.

4
  • 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? May 8, 2016 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. May 8, 2016 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? May 8, 2016 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. May 8, 2016 at 22:39

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.