Учетная запись, созданная с использованием web3, не отображается в консоли geth

Я создал новый адрес, используя web3.eth.accounts.create(), и он отвечает

{ address: '0x9AA2767207d0aC9cCdD2e3B244210f630588F3E3',
  privateKey:
   '0x15bc394db36ab8745ca34a9961d84abf5a45697823726d500785df940e416cbc',
  signTransaction: [Function: signTransaction],
  sign: [Function: sign],
  encrypt: [Function: encrypt] }

Но в консоли geth перечислены все мои учетные записи, кроме 0x9AA2767207d0aC9cCdD2e3B244210f630588F3E3. Что здесь пошло не так? я использую web3 -1.0.0-beta.34. Я также пытался использовать web3.eth.personal.newAccount('qwerty'), но это видно, The method personal_newAccount does not exist/is not availableно они ясно упомянули этот метод в документации 1.0.0.

Я инициализировал web3 и личный лайк

var personal = new Personal('http://localhost:8545' || 'ws://localhost:8546');  
    web3 = new Web3(new Web3.providers.HttpProvider('http://localhost:8545') || 'ws://localhost:8546');

Может ли кто-нибудь помочь мне в этой проблеме? Спасибо.

Ответы (2)

сделать иск, что вы разрешили личный API при запуске geth какgeth --rpc --rpcport "8545" --rpcapi personal

да спасибо. Раньше я разрешал только web3.

Используемый вами метод web3.eth.accounts.create()создает учетную запись, но не связывает ее с вашим узлом, вместо этого используйте newAccount:

web3.eth.personal.newAccount(password, [callback])

Это должно сработать. Для получения дополнительной информации см. документы здесь

Надеюсь это поможет.

Я также пытался использовать это, но он показывает, что метод не существует
Метод существует !!, посмотрите документы по ссылке, которую я предоставил, какую версию web3 вы используете.
web3 -1.0.0-бета.34
Я думаю, что инициализация личного является проблемой. Я инициализировал как новый Personal(' localhost: 8545 ' || 'ws://localhost: 8546'). Это правильно?