Dapp stack — what to include in a decentralized project

Web3 is spreading across the Internet giving so many ideas and use cases. Nowadays, it is highly demanded to know, how to build…

Dapp stack — what to include in a decentralized project

Web3 is spreading across the Internet giving so many ideas and use cases. Nowadays, it is highly demanded to know, how to build decentralized applications (dapps) and which technologies include.

This main concept of this content is to present, which technologies use in next dapp project. It can sacrifice a lot of time, giving a quick overview, which might be essential while starting the development.


Agenda:

  • Intro,
  • Structure,
  • Technologies,
  • Conclusion.

Structure

Functional app usually is built from the frontend and backend parts. Authentication is made with email and if it is a web platform, all of the interface is hosted online and run from the browser.

Dapp is quite different…

Generally speaking, every dApp is based on decentralized ledger, called blockchain. It is a total game changer, which makes the structure quite different.

Each app has a concrete layout called user interface. It is displayed to user from the browser, by requesting html, css, js, jsx code from the server. The Internet connection is crucial, to be even able to open a platform.

Each dApp also is constructed of the user interface and needs a browser with the Internet connection, but there is the end of similarities.

Authentication

dApps proceed the authentication by crypto wallets. It is demanded to forget about classic email & password signing in/up. That is exactly why, every web3 passionate or user should possess some of the various crypto wallets.

Providers

Web3 providers, known as Node providers, are essentially blockchain data keepers.

These projects run ecosystem of hundreds of blockchain nodes, and are tasked with providing applications with the latest and historical blockchain data.

EVM

Ethereum virtual machine is extremely important to execute smart contracts. It compiles deployed scripts and allow to execute them.

More about it is included here:

Ethereum blockchain

This tutorial is describing stack for mainly ethereum networks and its layers. However, it is possible to make dApp on ecosystems like, Solana and Cardano. It is just a choice to make. Otherwise, ethereum community is much bigger and has huge value to share.

Blockchain just save and execute transactions proceeded by smart contracts, by adding them to new blocks. Its decentralization defines, why it is better to use such a ledger, instead of traditional database.


Technologies

- Browser

Let’s start with browsers to interact with dapps.

Not every browser allows to use crypto wallets as an extension, but it can be replaced with mobile app. However, the most opulent wallet — MetaMask has a great user experience flow, when it is added as an extension.

Browsers which support metamask:

  • brave,
  • opera,
  • mozilla,
  • chrome,
  • tor.

- Crypto wallets:

To interact with dapp, it is necessary to make some interface with connecting the wallet to the service. It can be easily done with a tool “wallet connect”, it is just one click and you can authenticate a wide variety of wallets.

Another way is to add just some flow to metamask, which opens extension and requires accepting the connection with a service.

List of other great wallets:

  • argent,
  • portise,
  • metmask,
  • ledger.

- Frontend

UI of a dApp can be made with different frameworks or tools. You can choose between:

  • React,
  • Vue,
  • Angular,
  • Next.js,
  • etc.

- Provider

In case of developing a dApp, it is required to communicate with the blockchain. It can be made by creating own node (not easy and cheap), or use a node provider.

List of most famous providers:

  • alchemy,
  • infura,
  • quicknode,
  • ankr,
  • chainstack.

- Blockchains

To have a decentralized app, picking a concrete blockchain is the most fundamental thing to do, before further development.

List of the most famous ones:

  • Ethereum,
  • Solana,
  • BNB chain,
  • Tron,
  • Polygon.

- Smart contracts

To finish a dApp, it is crucial to add smart contracts which contain rules of a built platform. Smart contracts can be developed in:

  • Solidity,
  • Rust,
  • Vyper.

- Interaction with a frontend

Passing on-chain data to frontend components can be a little tricky, but it is handled by js libraries. It is worth to know:

  • ethers.js,
  • - web3.js.

They gives a lot of valuable features, which are sufficient to build full dapp.


Conclusion

Dapps are giving more freedom to a causal user than ordinary app. No entity has the capability to rule of assets, which a concrete user owns.

Blockchain really revolutionised the way of looking at the ownership in the digital world.


Would you like to learn web3 from my challenge? Follow the repo which consists al of the topics:

GitHub - Kacper-Hernacki/100-days-of-web3-challenge-blockchain-free-materials: This is the repo…
This is the repo which consists 100 topics about blockchain/ decentralisation/ web3. There are links to my articles,…