Note
Looking for a maintainer! Anyone who wants to maintain the project, I am happy to transfer ownership or add as a maintainer here. Please reach out by opening a GitHub issue and tagging me.
- SvelteKit app
- Auto-generated and fully-typed ABIs using wagmi-generate
- Web3modal connect button using wagmi-core
- Foundry contracts
- Configured for easy multi-chain deployments
- Click the Deploy with Vercel button above
- Clone and cd the repo that was created by Vercel using
git clone <REPO_NAME> && cd <REPO_NAME> - Install Foundry dependency because Vercel doesn't clone the submodules:
forge install foundry-rs/forge-std(must have foundry installed, see here: https://book.getfoundry.sh/getting-started/installation) - Install packages and copy .env.example files:
sh setup.sh - Set mnemonic phrase in root
.envfor test accounts (generate a bip39 mnemonic) - Set web3modal project id in
.env(obtain a project id for web3modal)
- Clone/fork the repo:
git clone https://github.com/d1onys1us/dapp-slaps.git - Install packages and copy .env.example files:
cd dapp-slaps && sh setup.sh - Set mnemonic phrase in root
.envfor test accounts (generate a bip39 mnemonic) - Set web3modal project id in
.env(obtain a project id for web3modal) - Source environment vars:
source .env - (optional) if using vscode check the vscode config section
You will have three development windows, start them all and source all .env files with
source .env && source packages/app/.env.
- Start local chain:
anvil -m $MNEMONIC - Deploy the Foo contract:
forge script Deploy --broadcast --rpc-url $FOUNDRY && pnpm -F app wagmi:generate - Start app:
pnpm -F app dev
pnpm -F app devpnpm -F app wagmi- Start by installing the package (example: openzeppelin-contracts):
forge install OpenZeppelin/openzeppelin-contracts- Regenerate the remappings for the contract imports (run this from the project root):
forge remappings > remappings.txtanvil -m $MNEMONICforge script Deploy --broadcast --rpc-url $FOUNDRY && pnpm -F app wagmi:generate- Try resetting account in MetaMask
- Try clearing all browser storage
- Try disconnecting account and reconnecting
- Ensure all env vars are set
- PaulRBerg Foundry template: https://github.com/PaulRBerg/foundry-template
- Taiko monorepo: https://github.com/taikoxyz/taiko-mono
- Optimism Starter: https://github.com/ethereum-optimism/optimism-starter
- ScaffoldEth2: https://github.com/scaffold-eth/se-2