Connecting with metamask

Open plugin metamask

const provider = new ethers.providers.Web3Provider(window.ethereum);

Get user's wallet address

await provider.send("eth_requestAccounts", []);
const myAddress = await provider.getSigner().getAddress();Login

handleLogin()

import { ethers } from "ethers";

const login = () => {

const handleLogin = async () => {
      const provider = new ethers.providers.Web3Provider(window.ethereum);
    try {
      await provider.send("eth_requestAccounts", []);
      const myAddress = await provider.getSigner().getAddress();
    } catch (error) {
      console.log(error)
      }
    }

return (
<Button onClick={() => handleLogin()}>
      Login
 </Button> 
)
}

export default login

getWallet()

import { ethers } from "ethers";
import React, { useState, useEffect }
import { Box } from '@chakra-ui/react'

const login = () => {
const [address, setAddress] = useState("")

const getWallet = async () => {
      const provider = new ethers.providers.Web3Provider(window.ethereum);
      const myAddress = await provider.getSigner().getAddress();
      if (myAddress){
        setAddress(myAddress)
      }
    }

      useEffect(() => {
        getWallet()
      
        return () => {
        }
      }, [])

return (
<Box>
  {address}
 </Box> 
)
}

export default login

Last updated

Was this helpful?