[Ethereum] How is hosting of a DApp done


I don't understand how deployment and hosting of a DApp works.
My quesitons are:

1.Is DApp's code stored on Ethereum servers or do I have to get my own server and store it there?
2.Do I have to run my own Ethereum daemon on my server 24/7 where the contract's code will be executed ? In other words, what services exactly does Ethereum provide (external services) that my DApp will use?

3.Do I have to create my own currency to run a DApp ?

Or in other words, I don't understand what resources are provided by Ethereum and what resources should be provided by me to run a DApp.

Best Answer

A DApp consists of two parts:

  • The Ethereum contract

    The Ethereum contract is executed by all the nodes in the network. All you need to do is deploy the contract, and it will be executed by all the nodes forever. You can deploy a contract from most Ethereum client programs. You don't need to do anything to keep it online. Ethereum contracts are usually written in the Solidity programming language.

  • The user interface

    The user interface is executed only by the computers of the people that use your DApp, while they are using your DApp. You are responsible for distributing it. This is usually done by hosting it on a website. You have to host it, or pay for a web hosting service. The user interface is usually written with HTML, CSS and JavaScript using the web3.js library.

You do not have to create your own currency to create or to use a DApp.

To use a DApp, the user needs to install an Ethereum node or a browser plugin on their computer. For example:

  • MetaMask (browser plugin)
  • Parity (PC program & browser plugin)
  • Mist (PC program with built-in DApp browser)

There are no 'Ethereum servers', there are only Ethereum nodes. These nodes run Ethereum contracts.

In short:

You are responsible for distributing the user interface, usually by hosting it on a website, but you don't need to do anything to keep the Ethereum contract running.

Related Topic