Создание учетной записи с помощью web3js или web3j

Я пытаюсь создать учетную запись в частной сети ethereum, используя web3js из внешнего интерфейса. Я написал следующие строки в моем файле js. createAccount() вызывается со страницы HTML.

web3 = new Web3(new Web3.providers.HttpProvider("http://127.0.0.1:8545"));

function createAccount(){    
    console.log("web3 version"+web3.version.api);
    web3.eth.accounts.create();
}

Я получаю следующее в консоли web3 version0.20.1

Uncaught TypeError: web3.eth.accounts.create не является функцией

Можно ли создать учетную запись на узле с html-страницы внешнего интерфейса с помощью web3js? Если нет, то как сделать то же самое с web3j.

Ответы (2)

До версии 1.0 web3js — которая имеет функциональность eth.accounts ; создание новой учетной записи достигается через


eth.personal.newAccount('password')

который вы можете найти документально здесь

Тем не менее, для достижения этого через Node.js вам нужно будет включить «личный» через RPC, что нецелесообразно, или подключиться через IPC. См. этот существующий ответ для более подробной информации .

Дополнительную информацию о флаге rpc и параметре, который вы должны указать, чтобы включить это, можно найти в этой проблеме web3js .

web3.js < v1.0 не имеет объекта web3.eth.personal. См . документ github.com/ethereum/wiki/wiki/JavaScript-API .

web3.eth.accounts.create недоступен ниже web3.js 1.0.

Пожалуйста, обратитесь к разделу примечаний по этой ссылке Аккаунты Web3 JS

Какие номера версий для web3? Я слышал разговоры о 1.0. Когда вы устанавливаете npm, он говорит 0.2.0, а репо говорит 0.14. Что происходит?
@Kaviarasu, какая ему альтернатива?