小编pat*_*ick的帖子

Nextjs 13.0.2 和 Ethers 为什么我的 Provider 未定义?

我正在尝试在 Nextjs 13.0.1 中像这样访问以太坊提供程序:

import { ethers } from "ethers";

export const signMessage = () => {
  
  const provider = new ethers.providers.Web3Provider(window.ethereum);
  const signer = provider.getSigner();

  try {
    signer.signMessage("Hey hey").then((result) => {
      console.log(result);
    });
  } catch (error) {
    // handle error
    console.log(error);
  }
};
Run Code Online (Sandbox Code Playgroud)

但它总是给我错误:

Unhandled Runtime Error
TypeError: Cannot read properties of undefined (reading 'Web3Provider')
Run Code Online (Sandbox Code Playgroud)

我尝试过不同的提供商,但总是收到上面的错误消息。

有人知道为什么它适用于 Nextjs 12 但不适用于 Next 13?

blockchain ethereum smartcontracts next.js ethers.js

7
推荐指数
1
解决办法
3080
查看次数