如何从浏览器创建一个新的以太坊节点?

How would one create a new Ethereum node from the browser?

我正在阅读 Web3 文档,发现在控制台中使用它需要一个 运行 以太坊节点。但是由于很多 DApp 用户将是以太坊的新用户,从浏览器生成新节点的标准方法是什么?

当然,这可以使用 Geth 命令行工具来完成 - 但如何在控制台中使用这些工具?

据我所知,还没有一种方法可以在浏览器中 运行 一个节点,但是你可以使用 Metamask 获得一些明显接近的东西。

如果您使用 geth,您可以使用 geth console 启动它,这样您就可以访问控制台。

如果您使用 rpc(geth 或其他)启动节点,您可以使用 geth attach http://localhost:8545

将 geth 附加到它

如果您运行在您的浏览器中安装 DAPP,它很可能会为您将 web3.js 加载到您的浏览器中。如果打开开发者控制台,也可以通过控制台访问web3

最后,您还可以使用 Metamask(一个 chrome 扩展),它会在您的浏览器中注入 web3.js。从那里,您可以打开开发控制台并开始发出 web3.eth.accounts

等命令

如果你是 运行 浏览器中的 DAPP,MetaMask 的替代品(我强烈推荐)可以连接到

https://infura.io/, register (api key will be generated for you), so you could "connect trough" them. ( even though MetaMask uses Infura as well, I think ) Something like this ( in context of code ):

web3 = new Web3(new Web3.providers.HttpProvider('https://ropsten.infura.io/efYr0Kza6Io9M1NPXZA1');