git clone https://github.com/knit-dev/hardhat-next-boilerplate.git MyProject && cd MyProject
yarn
or npm npm install
npx hardhat node --watch
It runs up a Hardhat node, compile contracts, generates typescript interfaces, creates React context and instantiates your contract instances and factories with frontend provider.
cd frontend-next
npm install
test test test test test test test test test test test junk
http://localhost:8545
and chainID 31337
.npm run dev
The frontend should open at http://localhost:3000/
Because of this default hardhat.config.ts it will first try to connect with an injected provider like Metamask (web3modal package does this).
If nothing found it will try to connect with your hardhat node. On localhost and hardhat nodes it will inject your mnemonic into the frontend so you have a "browser wallet" that can both call and send transactions. NB! Dont ever put a mnemonic with actual value here.
In hardhat.config.ts there is example on how to instruct your hardhat-network to use mnemonic or privatekey.
const config: HardhatUserConfig = {
react: {
providerPriority: ['web3modal', 'hardhat'],
},
};
Ensure you are useing RPC to http://localhost:8545.
You may also need to set the chainID to 31337 if you are useing Hardhat blockchain development node.
eth_sendRawTransaction
Invalid nonce. Expected X but got X.
Reset your account in Metamask.