Full-Stack Next.js 😄 chat app connected to Ethereum blockchain (Ropsten network).
Core features:
- Modern frontend (Next.js, Tailwind, Jotai, Typescript)
- Autorisation with Metamask (Siwe, Iron-session)
- Emoji shop (Wagmi)
- Ethereum smart contracts (Hardhat, Openzeppelin)
- Realtime chat (Ably)
.env
ABLY_API_KEY=
IRON_SESSION_PASSWORD=
Standard Next.js commands for dev/build (https://nextjs.org/docs/getting-started)
npm run dev
npm run build
Smart contracts are placed in /ethereum
folder.
Deploy all contracts and add listings:
npx hardhat run --network ropsten scripts/deploy.ts
/ethereum/address/emoji
should be manually updated after deploy.
Also files (/ethereum/artifacts/contracts/[name].sol/[name].json
) should be copied to /artifacts
.
Add listings after deploy:
npx hardhat run --network ropsten scripts/addListings.ts