在没有 运行 geth 的情况下在 web3.js 中创建一个帐户?

Creating an account in web3.js without running geth?

我想知道如何创建一个新的个人帐户,如何为该帐户进行挖掘以及如何使用 web3.js 从该帐户发送交易?我尝试使用( web3.eth.personal.newAccount()) 在 web3.js 中通过与 geth 连接。但是我想在没有 运行 geth 的情况下在 web3.js 中创建一个帐户、挖掘和发送交易?我正在关注 web3:1.0.0-beta.33 版本 document.Is 可能在没有 运行 geth 的情况下完成所有这些? 我的代码是

    var Web3 = require('web3');
    var web3 = new Web3(new 
    Web3.providers.HttpProvider('http://xx.xx.xx.xxx:xxxx'));
    web3.setProvider(new 
    Web3.providers.WebsocketProvider('ws://xx.xx.xx.xxx:xxxx'));
    var net = require('net');
    var web3 = new Web3(new 
    Web3.providers.IpcProvider('\\.\pipe\geth.ipc', net));
    var Web3EthPersonal = require('web3-eth-personal');
    var personal = new Web3EthPersonal('http://xx.xx.xx.xxx:xxxx');

    web3.eth.personal.newAccount('test123',function(error , response){
    if(!error){

    console.log(response);
    }else{
        console.log(error);

    }
    });

您可以在没有 运行 本地节点的情况下创建帐户并提交交易,方法是使用 Infura 等第 3 方提供商。他们的网站上有大量关于如何创建 API 密钥并与他们的节点集群集成的文档。

但是,你需要有一个节点运行才能挖矿。

除了Infura,还有QuickNode、Alchemy等节点提供商。我们的工程团队使用 Alchemy,因为我们遇到了与 Infura 的一致性问题。