Skip to content

Write smart-contracts that are typed, deployed, instantiated and connected to provider in React app.

License

Notifications You must be signed in to change notification settings

rokserak/dapp-identity-provider

Repository files navigation

Get started

  1. Clone the repo and cd into it git clone https://github.com/symfoni/hardhat-react-boilerplate.git MyProject && cd MyProject
  2. Install deps with yarn yarn or npm npm install
  3. Start hardhat 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.
  1. Open up a new terminal
  2. cd frontend
  3. Install deps with yarn yarn or npm npm install
  4. Import seed phrase in Metamask. The default mnemonic currently used by hardhat is test test test test test test test test test test test junk
  5. Ensure Metamask RPC is set to http://localhost:8545.
  6. Start React app with yarn yarn start or npm npm start. The frontend should start up 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. We will limit this feature going forward so its more explicit.

const config: HardhatUserConfig = {
  react: {
    providerPriority: ["web3modal", "hardhat"],
  },
};

FAQ

Metamask

You may also need to set the chainID to 1337 if you are useing Hardhat blockchain development node.

Invalid nonce.

eth_sendRawTransaction
  Invalid nonce. Expected X but got X.

Reset your account in Metamask.

We ❤️ these Ethereum projects:

About

Write smart-contracts that are typed, deployed, instantiated and connected to provider in React app.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 58.3%
  • Solidity 35.2%
  • JavaScript 4.4%
  • Shell 2.1%