Creando una cuenta usando web3js o web3j

Estoy tratando de crear una cuenta en la red privada ethereum usando web3js desde el front-end. He escrito las siguientes líneas en mi archivo js. Se llama a createAccount() desde una página 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();
}

Obtengo lo siguiente en la consola web3 version0.20.1

TypeError no detectado: web3.eth.accounts.create no es una función

¿Es posible crear una cuenta en el nodo desde la página html de front-end usando web3js? Si no, ¿cuáles son los pasos para hacer lo mismo desde web3j?

Respuestas (2)

Antes de la versión 1.0 de web3js, que tiene la funcionalidad eth.accounts ; la creación de una nueva cuenta se logra a través de


eth.personal.newAccount('password')

que puede encontrar documentado aquí

Dicho esto, para lograr esto a través de Node.js, deberá habilitar 'personal' a través de RPC, lo cual no es recomendable, o conectarse a través de IPC. Consulte esta respuesta existente para obtener más detalles .

Puede encontrar más información sobre el indicador rpc y el parámetro que tendría que proporcionar para habilitar esto en este problema de web3js .

web3.js <v1.0 no tiene el objeto web3.eth.personal. Consulte el documento github.com/ethereum/wiki/wiki/JavaScript-API .

web3.eth.accounts.create no está disponible debajo de web3.js 1.0.

Consulte la sección de notas en este enlace Cuentas Web3 JS

¿Cuáles son los números de versión para web3? He visto hablar de 1.0. Cuando instala npm, dice 0.2.0, y el repositorio dice 0.14. ¿Qué está pasando?
@Kaviarasu, ¿Cuál es la alternativa para ello?