PatrickAlphaC / hardhat-fund-me-fcc

82 stars 183 forks source link

Solution: Hardhat has been updated (and will not be similar to the video) #49

Closed deAgora closed 2 years ago

deAgora commented 2 years ago

For those of you (and me too) that have very little coding experience yet are following along with this great course I'd thought I'd share my pitfall and solution for the following issue:

If you are installing hardhat as per the instructions in the video you may find yourself installing a newer version of Hardhat that does not allow for the "create an advanced sample project" option that is shown in the video. If that should happen to you the following steps can get you back on track to following along with Patrick in the video.

1) if you have already installed a newer version of hardhat we need to remove that to install the version that Patrick is using (which is version 2.9.3). To do so, type 'yarn remove hardhat' in the terminal. This will remove the latest version (type 'yarn list' in the terminal to check and verify if step 1 worked).

2) install the correct version of hardhat as used in the video. To do so type 'yarn add --dev hardhat@2.9.3' in the terminal which will install the older version which Patrick is using. After installation you will find that the option to "create an advanced sample project" is available now.

These two steps have helped me to work around the issues of the newer version.

3) another issue could be that while running hardhat (via the 'yarn hardhat' command in the terminal) you will not be prompted with a yes/no option to install all the required dependencies (10:04:39 in the video right after the gitignore prompt) but you will be told to do so you yourself. This is really easy to fix as you can copy and paste the message into your terminal. For your convenience here is the command:

yarn add --dev "hardhat@^2.9.3" "@nomiclabs/hardhat-waffle@^2.0.0" "ethereum-waffle@^3.0.0" "chai@^4.2.0" "@nomiclabs/hardhat-ethers@^2.0.0" "ethers@^5.0.0" "@nomiclabs/hardhat-etherscan@^3.0.0" "dotenv@^10.0.0" "eslint@^7.29.0" "eslint-config-prettier@^8.3.0" "eslint-config-standard@^16.0.3" "eslint-plugin-import@^2.23.4" "eslint-plugin-node@^11.1.0" "eslint-plugin-prettier@^3.4.0" "eslint-plugin-promise@^5.1.0" "hardhat-gas-reporter@^1.0.4" "prettier@^2.3.2" "prettier-plugin-solidity@^1.0.0-beta.13" "solhint@^3.3.6" "solidity-coverage@^0.7.16"

If any experts can chime in on any other tips/tricks to help us newbies that would be more than welcome.

From one Patrick (the newbie) to another Patrick (the pro); thanks for sharing your knowledge with us > this may change a lot of lives for the better tips hat to you.

mehedi-iitdu commented 2 years ago

I guess you should try hardhat-toolbox now, the latest and up to date version.

deAgora commented 2 years ago

Does hardhat-toolbox give us the opportunity to verbatim follow Patrick's course? The reason I'm asking is because some people are so new to the coding-game that we are at a monkey-see-monkey-do level (pardon my language). If the hardhat-toolbox allows for the "create an advanced sample project" option and has no discernible differences moving forward in the course then yes we should recommend that. If however, the toolbox is the latest up-to-date version of hardhat however does not provide the optionality that the course requires than it is not going to help here. Thank you for the comment, it is very much appreciated.

PatrickAlphaC commented 2 years ago

You can use hardhat-toolbox, but you can't follow the course verbatim. A way to get around these dependency issues would be to install the exact packages that I have in the yarn.lock files of each repo.

PatrickAlphaC commented 2 years ago

Or, if you git clone a repo, just run yarn and you should be good. Closing for now, feel free to follow up.