【发布时间】:2021-06-10 01:25:15
【问题描述】:
我想开发一个以太坊钱包 chrome 扩展。
在开发一个简单的原型时,我注意到 node.js 模块不能直接从 chrome 扩展中运行。
但我必须使用 web3.js 或 ethers.js。
总结
有没有办法使用 web3.js 或 ethers.js 开发 Chrome 扩展?
【问题讨论】:
-
不幸的是,web3.js 的一部分是用 C++ 编写的,并被编译成二进制代码(x86、ARM 等,具体取决于您的机器),这意味着它不能在浏览器中使用,除非您将其重写为 NaCl兼容但 NaCl 已从现代 Chrome 中删除,因此您只能使用旧版本的 Chrome。您应该查看 Metamask 而不是 web3 - 代码是开源的,就像 web3.js
-
@slebetman 谢谢你的回答 :) 在 Metamask 的 package.json 中,web3 和 ethers 都存在。 Metamask 是否构建 Node.js 服务器并使用 socket.io 与前端通信?我想做一个类似的钱包扩展。
-
web3.js 和 ethers.js 无需任何 node.js 模块即可在客户端运行,因此您的假设完全不正确。
-
@lee 你知道如何处理 ethers.js 吗?