This was built on top of the fantastic work of @frolic's web3-scaffold template repo.
It has a couple of differences that are mainly personal preferences of mine, and also includes fonts that I use in my personal projects.
NextJS app with TypeScript. Uses React Query and GraphQL Request for data fetching from both REST and GraphQL APIs. Styling/CSS with Emotion because I still like writing CSS myself, sorry Tailwind lovers!
Wallets are connected with ConnectKit since I like how much you can customize it to fit the aesthetic of each site, and contract interactions use hooks from wagmi.
Uses Foundry to compile, test, and deploy smart contracts.
Features the latest solidity compiler, currently v0.8.17
, and relies solely on forge
scripts for deployment. This means we can load env vars, verify on etherscan, and have all the transactions happen (usually) in a single block.
# Load the env vars
source .env
# Run the script
forge script packages/contracts/script/Deploy.s.sol --ledger --hd-paths "m/44'/60'/0'/0/0" --sender <MY_ADDRESS> --broadcast --verify -vvv
For now until they sunset the hosted service. This may change in future as other tools appear. I'm really excited about what Ponder can do.