【问题标题】:How do I get the address of the connected wallet with web3modal?如何使用 web3modal 获取已连接钱包的地址?
【发布时间】:2022-01-08 13:09:27
【问题描述】:

我正在使用 next.js 和 web3 构建一个应用程序。要将用户钱包连接到前端,我使用 web3modal 如下:

const Home: NextPage = () => {
  const [signer, setSigner] = useState<JsonRpcSigner | null>(null)

  async function connect() {
    const web3Modal = new Web3Modal()
    const connection = await web3Modal.connect()
    const provider = new ethers.providers.Web3Provider(connection)
    const signer = provider.getSigner()

    setSigner(signer)
  }

  return (
    <div className="flex justify-center">
      <button onClick={() => connect()}>Connect wallet</button>
      { signer && (
        <h3>wallet connected: {signer._address}</h3>
      )}
    </div>
  )
}

用户可以成功连接钱包,可惜signer._address一直为空。我想向用户显示刚刚连接的地址,我该如何解决?

【问题讨论】:

    标签: web3


    【解决方案1】:

    这不是关于 web3Modal 的问题,而是关于 ethers 的问题。

    你可以这样获取地址:

    const [address, setAddress] = useState()
    // ...
    setAddress(await signer.getAddress())
    

    文档在这里:https://docs.ethers.io/v5/api/signer/#Signer-getaddress

    【讨论】:

      猜你喜欢
      • 2022-07-06
      • 2022-10-22
      • 1970-01-01
      • 2014-05-26
      • 2022-06-30
      • 2022-11-15
      • 2016-07-30
      • 2022-05-31
      • 1970-01-01
      相关资源
      最近更新 更多