Multilayered architecture on Ethereum

by Héctor Ugarte

Lets consider the next facts:

  • Smarts contracts can be written in different languages (one of them Solidity), and they will be stored on the blockchain on a precompiled format).
  • As you may know ethereum recommends to use “existing web development skills, tools, and favorite frameworks “ to develop User Interfaces.
  • web3.js API. is a way to call Smart Contracts using JavaScript.

In an architectural hardware point of view:

  • Smart contracts are replicated on the blockchain that works on a P2P environment.
  • UI framework, and connectivity, for the moment relies on a client-server architecture. Maybe in a future, P2P environments will also be used.


Multilayered architecture is defined as: “…is a software architecture that uses many layers for allocating the different responsibilities of a software product”.

For this purpose, 3 most common layers:

  • Presentation layer: Lets consider all the elements working on the the web browser environment, even if all this environment can be splited on its own on different layers, from a general point of view, on Ethereum, they form the presentation layer. [FRONTEND]
  • Application layer: Is formed by the smart contracts, [BACKEND]
  • Data access layer: Data is stored on the transactions, and could be also stored outside the blockchain (f.e. with IPFS)