๐Ÿ›  DEVLOPMENT ENVIRONMENTS


Page Map


๐Ÿ›  A - INTRODUCTION

This section will have all the development environments which I am going to focus on. These might be few. They maybe directly or indirectly related to web3.

๐Ÿ›  B - PRIMARY FOCUS

%%{init: {'theme':'dark', 'themeVariables':{'textColor':'#FBB454', 'nodeBorder':'#00D7FF', 'lineColor':'#00FFAB'}}}%%
graph LR
    A[Development<br>Environments]-->A1(Foundry <br> CLI)
    A-->A2(Tenderly<br>WebApp)
    A-->A3(RemixIDE <br> Browser Based)

    %% A1 Breakdown
    A1-->A11(forge <br> Testing Framework)
    A1-->A12(cast <br> POST/GET Onchain Data)
    A1-->A13(anvil <br> Local Ethereum Node)

    %% A2 Tenderly Breakdown
    A2-->A21(Explorer <br> Transaction Analysis)
    A2-->A22(Simulator <br> Simulating Transactions)
    A2-->A23(Sandbox <br> WebApp for smart contract testing <br> with javascript)

    %% Clicks 
    click A1 href "https://github.com/foundry-rs/foundry" "Click" _blank
    click A2 href "https://tenderly.co/" "Click" _blank
    click A3 href "https://remix.ethereum.org" "Click" _blank

Note

Currently learning these tools based on all usecases related to web3 security. I.e, POCโ€™s, testing

๐Ÿ›  B1 - Foundry

  1. Completely CLI based but can be used with Remix
  2. Has been gaining a lot of momentum recently.
  3. Written in rust and its quite fast.
  4. Has this concept of cheat codes which can alter the state of the chain for advanced testing
  5. The big persuading factor for Foundry is all the tests are also written in Solidity. So there is no context switching (need for writing tests in another language)

๐Ÿ›  B2 - Tenderly

  1. Prior to Foundy, this was the goto development environment after hardhat
  2. It has excellent in browser simulation and forking functions
  3. Recently they added a sandbox functionality, where you can run tests in the browser. But this requires tests to be written in JavaScript.

๐Ÿ›  B3 - Remix IDE

  1. The original browser based development environment used for solidity development. It has been used for many large projects.
  2. Doesโ€™nt require any setup. Which is its big plus point.
  3. Recently they have also released a desktop version.