如何将使用 React 制作的 Chrome 扩展连接到 Metamask 和其他钱包?

How to connect a Chrome extension made with React to Metamask and other wallets?

我需要将 Metamask 连接到我正在做的 Chrome 扩展。我不是加密专家,我正在使用 ethers js 并遵循一些教程,但扩展程序无法识别浏览器中的 Metamask。我 运行 在普通网络应用程序(不是 Chrome 扩展程序)中使用相同的脚本,一切正常,我可以与 Metamask 进行交互以及所有这些。我一直在努力理解为什么它不起作用,此时我有点迷茫。

我一直在阅读 Chrome 开发人员文档,似乎有一种方法可以在两个扩展程序之间发送包含一些数据的消息。但我不知道如何将其引入我的项目,而且您可以共享的数据量似乎也受到某种限制。

我在 Stack Overflow 中搜索过,但我不明白这些问题的答案。或者如何将它们应用到我的案例中。

我找到了这个,但它看起来只适用于 MetaMask 而不适用于其他钱包:Connect to MetaMask via chrome extension

使用https://github.com/MetaMask/extension-provider。 你可以做到简单!我可以使用我的 chrome 扩展 + 元掩码轻松完成。 这个库很有帮助。