The dApp Development Stack

Published by Mario Oettler on

Before we start, we set up our development stack. Here, we use a minimal set of tools. If we need more sophisticated tools, we explain it in the respective topic or lesson.

  • Solidity IDE: The IDE helps us to code and deploy smart contracts on the Ethereum network. For learning purposes, we recommend the online available Remix IDE. Another great IDE is Visual Studio Code with the Solidity Plugin. If you use the Remix IDE, you can use the online version. It comes with a compiler, a local blockchain and doesn’t require any installation. Alternatively, you can install ganache.
  • Solidity Compiler: If you use the online available Remix IDE, you don’t need an additional compiler.
  • Editor or IDE for JavaScript, HTML, and CSS: A good choice is Visual Studio Code. But if you prefer other editors, you can use them too.
  • NodeJS: You can download it from the official page
  • Express: A node.js library for a webserver. We need Express to deliver websites. In our examples, we use the localhost.
  • Hardhat: In the later lessons, we use hardhat to fork a public network.
  • web3.js: A node.js package for conveniently interacting with full nodes and wallets. There are other convenience libraries. One is ethers.js. Both are similar, which makes switching easy. In this lesson, we use web3.js.
  • Browser and MetaMask Plugin (with some test Ether). You can user Firefox, Brave or Chrome as browsers.
  • In the later lessons, you need an account with a full node provider (in our case, Infura and Alchemy).