Skip to content

monad-developers/scaffold-eth-monad

Repository files navigation

🏗 Scaffold-ETH-Monad

⚙️ Built using NextJS, RainbowKit, Hardhat, Wagmi, Viem, and Typescript.

  • Contract Hot Reload: Your frontend auto-adapts to your smart contract as you edit it.
  • 🪝 Custom hooks: Collection of React hooks wrapper around wagmi to simplify interactions with smart contracts with typescript autocompletion.
  • 🧱 Components: Collection of common web3 components to quickly build your frontend.
  • 🔥 Burner Wallet & Local Faucet: Quickly test your application with a burner wallet and local faucet.
  • 🔐 Integration with Wallet Providers: Connect to different wallet providers and interact with the Ethereum network.

Front Page

Requirements

Before you begin, you need to install the following tools:

Quickstart

To get started, follow the steps below:

  1. Clone this repo & install dependencies
git clone https://github.com/monad-developers/scaffold-eth-monad.git
  1. Open the project directory and install dependencies
cd scaffold-eth-monad && yarn install
  1. Setup .env file for Hardhat:

Make a copy of .env.example in packages/hardhat folder, name it .env and enter the respective values

DEPLOYER_PRIVATE_KEY=
MONAD_RPC_URL=
MONAD_CHAIN_ID=
MONAD_EXPLORER_URL=
  1. Deploying smart contracts on Monad:

Once the .env file is setup, you can now run the below command in your terminal.

yarn deploy

This command deploys a test smart contract to the Monad testnet network. The contract is located in packages/hardhat/contracts and can be modified to suit your needs. The yarn deploy command uses the deploy script located in packages/hardhat/deploy to deploy the contract to the network. You can also customize the deploy script.

  1. Setup .env file for Next.js app (optional):

Make a copy of .env.example in packages/nextjs folder, name it .env and enter the respective values

NEXT_PUBLIC_WALLET_CONNECT_PROJECT_ID=
  1. On a second terminal, start your NextJS app:
yarn start

Visit your app on: http://localhost:3000. You can interact with your smart contract using the Debug Contracts page. You can tweak the app config in packages/nextjs/scaffold.config.ts.

What's next:

  • Edit your smart contract YourContract.sol in packages/hardhat/contracts
  • Edit your frontend homepage at packages/nextjs/app/page.tsx. For guidance on routing and configuring pages/layouts checkout the Next.js documentation.
  • Edit your deployment scripts in packages/hardhat/deploy
  • Edit your smart contract test in: packages/hardhat/test. To run test use yarn hardhat:test

Documentation

Visit our docs to learn how to start building with Monad.

To know more about Scaffold-ETH features, check out their website.