Ethereum web3.eth.accounts.create方法不';我没有实际创建新帐户

Ethereum web3.eth.accounts.create方法不';我没有实际创建新帐户,ethereum,web3js,Ethereum,Web3js,我尝试在专用网络中通过RPC创建eth帐户 到目前为止,我所做的是: 启动geth节点并创建专用网络 使用web3 1.0.0,typescript创建简单的javascript程序 按如下所示运行并获取结果,但未创建帐户 代码: const result = await web3.eth.personal.unlockAccount(senderId, senderPassword, duration) if (result === true) { // const newAccoun

我尝试在专用网络中通过RPC创建eth帐户

到目前为止,我所做的是:

  • 启动geth节点并创建专用网络
  • 使用web3 1.0.0,typescript创建简单的javascript程序
  • 按如下所示运行并获取结果,但未创建帐户
  • 代码:

    const result = await web3.eth.personal.unlockAccount(senderId, senderPassword, duration)
    if (result === true) {
        // const newAccountResult = await web3.eth.personal.newAccount('password')
        const newAccountResult = await web3.eth.accounts.create('user01')
        console.log(newAccountResult)
    }
    
    结果:

    web3.eth.accounts.create
    返回以下结果

    { address: '0xf10105f862C1cB10550F4EeB38697308c7A290Fc',
      privateKey: '0x5cba6b397fc8a96d006988388553ec17a000f7da9783d906979a2e1c482e7fcb',
      signTransaction: [Function: signTransaction],
      sign: [Function: sign],
      encrypt: [Function: encrypt] }
    
    但是
    web3.eth.getAccounts
    方法只返回一个帐户

    [ '0xaf0034c41928Db81E570061c58c249f61CFF57f2' ]
    
    似乎
    web3.eth.accounts.create
    方法已成功,因为结果包括帐户地址和私钥。 但是我不明白为什么
    web3.eth.getAccounts
    方法不包括创建的帐户

    我还通过控制台检查了geth,结果是一样的

    > eth.accounts
    ["0xaf0034c41928db81e570061c58c249f61cff57f2"]
    
    eth.personal.newAccount
    不起作用。 我需要在
    web3.eth.accounts.create之后做些什么吗


    非常感谢您的帮助。

    如果我没弄错的话,
    web.eth.accounts.create
    是一种创建帐户的方法,无需将帐户存储在本地节点上,因此它基本上是一种动态获取有效密钥对的方法,无需在密钥库上存储任何内容)

    web3.eth.personal.newAccount()
    如果您在geth节点上激活了个人API(这是ganache的默认行为,使用
    geth
    您需要通过
    geth--dev/testnet--rpc--rpcapi eth,web3,personal
    (注意:当然,在允许mainnet上使用个人API时应该非常小心,确保RPC访问受到限制,以便只有您/特权用户才能访问)

    我应该给你一些

    0xb71DCf0191E2B90efCD2638781DE40797895De66
    [
        ...
    '0xb71DCf0191E2B90efCD2638781DE40797895De66' ]
    

    Refs

    我以前尝试过
    newAccount
    方法,但失败了,但再次尝试后成功了!谢谢!
    0xb71DCf0191E2B90efCD2638781DE40797895De66
    [
        ...
    '0xb71DCf0191E2B90efCD2638781DE40797895De66' ]