Ethereum 如何使用React应用程序中的Web3和MetaMask对邮件进行签名

Ethereum 如何使用React应用程序中的Web3和MetaMask对邮件进行签名,ethereum,web3,metamask,ganache,Ethereum,Web3,Metamask,Ganache,我正在处理我的第一个dapp,我正在尝试使用Web3和MetaMask对邮件进行签名,但我不断收到以下错误: 我已关闭MetaMask隐私模式。getCoinBase()方法正确返回了我在MetaMask中选择的地址。但是,当我试图用它来签署一条消息时,它不起作用 这是我的代码:点的行是跳过不重要的部分 Metamask最近更改了向用户显示地址的方式。我发现了一个似乎相关的StackOverflow帖子。引述: The Invalid address error can also happen

我正在处理我的第一个dapp,我正在尝试使用Web3和MetaMask对邮件进行签名,但我不断收到以下错误:

我已关闭MetaMask隐私模式。getCoinBase()方法正确返回了我在MetaMask中选择的地址。但是,当我试图用它来签署一条消息时,它不起作用

这是我的代码:点的行是跳过不重要的部分


Metamask最近更改了向用户显示地址的方式。我发现了一个似乎相关的StackOverflow帖子。引述:

The Invalid address error can also happen if you haven't called window.ethereum.enable(); yet.

Metamask团队的相关博客文章:

Metamask最近对向用户显示地址的方式进行了更改。我发现了一个似乎相关的StackOverflow帖子。引述:

The Invalid address error can also happen if you haven't called window.ethereum.enable(); yet.

Metamask团队的相关博文:

如果我错了,请纠正我,但根据Metamask团队的博文,我不必调用window.ethereum.enable();如果我关闭了隐私模式。另外,在此上下文中,window.ethereum是什么?我没有这样的定义。在文章的标题
准备dapp
一节中,它指出:
从MetaMask v4.14.0开始,该提供程序已在window.ethereum上提供,它公开了新的启用方法
dapps可以而且应该尽快更新,以调用新的启用方法,以确保与即将进行的更改兼容
<代码>窗口。以太坊应该是您的web3提供商。我会确保你有一个完全最新版本的Metamask?我确实同意隐私模式的设置,但我无能为力。最好在以太坊stackexchange上询问这个问题。如果我错了,请纠正我,但根据Metamask团队的博文,我不必调用window.Ethereum.enable();如果我关闭了隐私模式。另外,在此上下文中,window.ethereum是什么?我没有这样的定义。在文章的标题
准备dapp
一节中,它指出:
从MetaMask v4.14.0开始,该提供程序已在window.ethereum上提供,它公开了新的启用方法
dapps可以而且应该尽快更新,以调用新的启用方法,以确保与即将进行的更改兼容
<代码>窗口。以太坊应该是您的web3提供商。我会确保你有一个完全最新版本的Metamask?我确实同意隐私模式的设置,但我无能为力。最好在以太坊stackexchange上询问。
The Invalid address error can also happen if you haven't called window.ethereum.enable(); yet.