Our great sponsors
-
SurveyJS
Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
-
shadcn/ui
Beautifully designed components that you can copy and paste into your apps. Accessible. Customizable. Open Source.
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
synpress
Synpress is e2e testing framework based on Cypress.io and playwright with support for metamask.
-
Recoil
Recoil is an experimental state management library for React apps. It provides several capabilities that are difficult to achieve with React alone, while being compatible with the newest features of React.
-
headlessui
Completely unstyled, fully accessible UI components, designed to integrate beautifully with Tailwind CSS.
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
wagmi is React Hooks built on top of ethers.js. There are many such libs, but I think this is best. -> wagmi's Comparison To Other Libraries wagmi provide TypeScript types for Ethereum ABIs and this works with zod schema. This brings more strict typecheck for dApp. -> ABIType Also wagmiβs hooks are very useful, such as useContractReads. It's wrapping Multicall3 for multiple read-calls.
jotai is a state management library that is easy to use and lightweight. It can use simply like useState + ContextAPI, prevent extra-rerender and has many utilities. Similar libraries are recoil, zustand, valtio. You can choose the one you like.
UI, CSS : tailwindcss + PostCSS + Radix UI + UI components by shadcn
Form library : jotai-form & zod
Form library : jotai-form & zod
Frontend Framework & hosting : Next.js + TypeScript + Vercel
Uniswap tokenlist format
Permit2
Synpress
React is first choice, because of it's many web3 libs. Vercel is the easiest place deploying Next.js with Turborepo. However, by using vercel's useful features (Edge functions, ISR, etc.), it is more difficult to deploy to IPFS and make dApp fully decentralized. Vite or esbuild are also suitable for smaller applications and tools.
Frontend Framework & hosting : Next.js + TypeScript + Vercel
UI, CSS : tailwindcss + PostCSS + Radix UI + UI components by shadcn
jotai is a state management library that is easy to use and lightweight. It can use simply like useState + ContextAPI, prevent extra-rerender and has many utilities. Similar libraries are recoil, zustand, valtio. You can choose the one you like.
This setup can be validate form inputs more react-like way. -> jotai-form with zod example If you aren't using jotai or need more complex validation, you can use react-hook-form with zod.
UI, CSS : tailwindcss + PostCSS + Radix UI + UI components by shadcn
Frontend Framework & hosting : Next.js + TypeScript + Vercel
ERC20 has decimals fields and must be handled with digit awareness. I wanted to use only one library, but I used both ether.js's BigNumber and bignumber.js (for display purpose).
State management : jotai
I prefer plain & customizable style-less frameworks. Radix UI has more features than Headless UI, but adding style is more difficult. So components by shadcn is good starting point.
React is first choice, because of it's many web3 libs. Vercel is the easiest place deploying Next.js with Turborepo. However, by using vercel's useful features (Edge functions, ISR, etc.), it is more difficult to deploy to IPFS and make dApp fully decentralized. Vite or esbuild are also suitable for smaller applications and tools.