Creating a React dApp

Set up initial project structure

There are lots of great initial scaffolding repositories, like Scaffold-ETH. For a more lightweight CRA scaffolding version, with Typescript and linting configured, and dOrg's preffered libraries check out React-Dapp-Boilerplate. Feel free to use the initial structure or scaffolding that best suits your needs


  • React should always be your tool to develop a dApp unless there's an explicit reason to not do it
  • Use typescript always, never use vanilla javascript
  • Use linter (ESLint + Prettier is the default in TS)
  • For styles in react, Styled Components or CSS-in-JS is a must, unless its an Angular or Vue project
  • Configure husky (Attach linter to pre commit hooks so the code is the same for all the developers on the project)
  • The suite of tests of the integrations is a must and should always aim to also test the UI components, but we can be flexible with it