Our frontend is built with the following tools:
- TypeScript: type checking
- React: ui
- Tailwind CSS: styling, theming
- Next.js: scaffolding/SSR/CDN/SEO
- We deploy on Vercel for optimization (CDN, regions)
- lerna: code organization; mono-repo management and libs release
Start web server
yarn && yarn build && yarn start
We welcome and encourage contributions! We recommend looking for issues labeled with "good-first-issue".
Make sure node >= 16 and yarn is installed.
- Install deps
yarn
- Build app
yarn build
- Run local server at
localhost:3000
yarn dev
To reduce duplicated effort, master
branch is used to deploy the frontier app as well. The frontier deployment has NEXT_PUBLIC_IS_FRONTIER
env var set to true
. If making
updates to frontier, please target the master branch. Frontier assets are configured in packages/web/config/ibc-assets.ts
.
To develop with frontier configuration, use:
yarn build:frontier && yarn dev:frontier
To deploy frontier (the env var will be set for you):
yarn build:frontier && yarn start:frontier
Otherwise the non-frontier commands can be used with the env var set to true.
Testnet version of the frontend uses NEXT_PUBLIC_IS_TESTNET=true
.
Dev:
yarn build:testnet && yarn dev:testnet
Deploy:
yarn build:testnet && yarn start:testnet