everything you need to build on Ethereum! ๐
๐งช Quickly experiment with Solidity using a frontend that adapts to your smart contract:
Prerequisites: Node (v18 LTS) plus Yarn (v1.x) and Git
๐จ If you are using a version < v18 you will need to remove openssl-legacy-provider
from the start
script in package.json
1๏ธโฃ clone/fork ๐ scaffold-eth:
git clone https://github.com/scaffold-eth/scaffold-eth.git
2๏ธโฃ install and start your ๐ทโ Hardhat chain:
cd scaffold-eth
yarn install
yarn chain
3๏ธโฃ in a second terminal window, start your ๐ฑ frontend:
๐จ if your contracts are not deployed to localhost, you will need to update the default network in App.jsx
to match your default network in hardhat-config.js
.
cd scaffold-eth
yarn start
4๏ธโฃ in a third terminal window, ๐ฐ deploy your contract:
๐จ if you are not deploying to localhost, you will need to run yarn generate
(using node v16.x) first and then fund the deployer account. To view account balances, run yarn account
. You will aslo need to update hardhat-config.js
with the correct default network.
๐ Side Quest: we need to update this process to use node v18.x ๐ช
cd scaffold-eth
yarn deploy
After deploying, you'll have to manually plug in a few addresses:
- In
packages/hardhat/deployments/YourContract.json
changeaddress
to the address of your proxy, which will be outputted in the terminal. - Then, do the same with the
address
for both contracts located inreact-app/src/contracts/hardhat.contracts.json
: paste in the address of your proxy.
๐ Edit your smart contract YourContract.sol
in packages/hardhat/contracts
๐ Edit your frontend App.jsx
in packages/react-app/src
๐ผ Edit your deployment scripts in packages/hardhat/deploy
๐ฑ Open http://localhost:3000 to see the app
๐จ๐ก To deploy to a public domain, use yarn surge
. You will need to have a surge account and have the surge CLI installed. There is also the option to deploy to IPFS using yarn ipfs
and yarn s3
to deploy to an AWS bucket ๐ชฃ There are scripts in the packages/react-app/src/scripts
folder to help with this.`
Documentation, tutorials, challenges, and many more resources, visit: docs.scaffoldeth.io
- scaffold-eth-typescript
- scaffold-eth-tailwind
- scaffold-nextjs
- scaffold-chakra
- eth-hooks
- eth-components
- scaffold-eth-expo
- scaffold-eth-truffle
๐ Read the docs: https://docs.soliditylang.org
๐ Go through each topic from solidity by example editing YourContract.sol
in ๐ scaffold-eth
๐ง Learn the Solidity globals and units
Check out all the active branches, open issues, and join/fund the ๐ฐ BuidlGuidl!
-
๐ซ Extend the NFT example to make a "buyer mints" marketplace
-
โ๏ธ Learn how ecrecover works
-
๐ฉโ๐ฉโ๐งโ๐ง Build a multi-sig that uses off-chain signatures
-
โ๏ธ Learn how a simple DEX works
-
๐ฆ Ape into learning!
๐ You need an RPC key for testnets and production deployments, create an Alchemy account and replace the value of ALCHEMY_KEY = xxx
in packages/react-app/src/constants.js
with your new key.
๐ฃ Make sure you update the InfuraID
before you go to production. Huge thanks to Infura for our special account that fields 7m req/day!
Register as a builder here and start on some of the challenges and build a portfolio.
Join the telegram support chat ๐ฌ or buidlguidl discord to ask questions and find others building with ๐ scaffold-eth!
๐ Please check out our Gitcoin grant too!