sk-web3
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.
packages/app
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.
packages/contracts
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.
Deploy script example
# 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
packages/subgraph
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.