Como Generar una Dirección Ethereum (Ethereum Address) con Node JS 13.3
En esta página:
Demo
Las nuevas tecnologías están allí y talvez solo los más curiosos pueden llegar a descubrirlas, una de estas es Ethereum la cual es una plataforma que trabaja sobre Blockchain o cadena de bloques, la cual se puede utilizar dentro de aplicaciones de diferentes tipos, ademas cuenta con una criptomoneda llamada Ether, que permite realizar pagos y transacciones en las aplicaciones desarrolladas sobre Ethereum, en este Post te voy a enseñar una manera fácil y rápida de crear una Dirección para Ethereum, vamos con el Post.
En otro artículo explicaré a fondo sobre la tecnología Blockhain (Cadena de Bloques), este Post será un complemento.
Que es una Ethereum Address (Dirección Ethereum )
Una dirección ETH o dirección Ethereum es un conjunto de letras y números que forma una identificación para una billetera o wallet, mediante esta dirección, otro usuario puede transferirte Criptomonedas, el monto es según acuerdo.
Una dirección Ethereum puede tener el siguiente formato:
1 2 3 4 |
// Ethereum Address (Dirección Ethereum) 0xec6b3dcf88d7b70430c56972ff634a6255e41d8b |
Como puedes ver es un simple String, pero tiene un uso muy importante.
Generar una Ethereum Address con Node JS
Si estas desarrollando un proyecto que ofrece direcciones Ethereum a sus usuarios, esta tutorial te ayudará, yo estoy usando la versión de Node JS 13.3.0 que es la última versión hasta la fecha de este video, voy a utilizar la librería ethereumjs-wallet que me permite generar una dirección Ethereum de manera sencilla y rápido, ejecuto el siguiente comando para instalarla:
1 2 3 4 5 6 7 8 9 10 11 |
npm install ethereumjs-wallet --save ... ... (Continua la instalación) ... + ethereumjs-wallet@0.6.3 added 47 packages from 86 contributors and audited 619 packages in 48.459s found 0 vulnerabilities |
Con esto tengo instalada la librería ethereumjs-wallet en su versión 0.6.3 que es la versión actual, hasta la fecha de este Post.
Paso seguido creo un archivo llamado app.js y agrego lo siguiente
1 2 3 4 5 6 |
var billetera = require('ethereumjs-wallet'); const EthBilletera = billetera.generate(); console.log("address: " + EthBilletera.getAddressString()); console.log("privateKey: " + EthBilletera.getPrivateKeyString()); |
Lo que estoy haciendo es llamar a la librería ethereumjs-wallet dentro de la variable billetera y luego creo una const EthBilletera que significa Ethereum Billetera, he abreviado el nombre Ethereum a Eth. A continuación te comparto todo el código de mi archivo app.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
const http = require('http'); const hostname = '127.0.0.1'; const port = 3000; const server = http.createServer((req, res) => { res.statusCode = 200; res.setHeader('Content-Type', 'text/plain'); res.end('Hola Mundo\n'); }); var billetera = require('ethereumjs-wallet'); const EthBilletera = billetera.generate(); console.log("address: " + EthBilletera.getAddressString()); console.log("privateKey: " + EthBilletera.getPrivateKeyString()); server.listen(port, hostname, () => { console.log(`Server running at http://${hostname}:${port}/`); }); |
Ahora ejecuto el siguiente comando para correr mi archivo app.js y en la misma consola de comandos se me crea una dirección (address) con una Private Key
1 2 3 4 5 6 7 |
node app.js address: 0xd818fed040379e73c37899d98f4652da92322758 privateKey: 0xe69adb98a7d8f6c5cb339f8109c592520efce11950b81616fc4b388b117d19f1 Server running at http://127.0.0.1:3000/ |
Con esto he generado al instante una dirección Ethereum, si necesitas crear otros datos, puedes revisar la documentación en la página de la librería ethereumjs-wallet
Por ejemplo voy a generar 2 datos más Checksum Address y Public Key, agrego lo siguiente
1 2 3 4 |
console.log("Checksum Address: " + EthBilletera.getChecksumAddressString()); console.log("Public Key: " + EthBilletera.getPublicKey()); |
Ejecuto en la consola de comandos lo siguiente y obtengo los nuevos datos Checksum Address y Public Key
1 2 3 4 5 6 7 8 9 |
node app.js Address: 0xaf1e00eea07b11fef0fcfbe56aa4e626f1ddb9e9 Private Key: 0x0ded0e26dbf85631d0e6e68af8c9e4accc963f46cc7dddf078403ce6517b12e4 Checksum Address: 0xAF1e00eEa07B11feF0FCFbe56AA4E626f1DDb9e9 Public Key: imO^w�#F�CC‼�����T��4ly#��=(�!^�_5�=�4�����^�ss6�}��Ny��d���� Server running at http://127.0.0.1:3000/ |
En resumen los datos obtenidos son los siguientes:
1 2 3 4 5 6 |
0xaf1e00eea07b11fef0fcfbe56aa4e626f1ddb9e9 (Address) 0x0ded0e26dbf85631d0e6e68af8c9e4accc963f46cc7dddf078403ce6517b12e4 (Private Key) 0xAF1e00eEa07B11feF0FCFbe56AA4E626f1DDb9e9 (Checksum Address) imO^w�#F�CC‼�����T��4ly#��=(�!^�_5�=�4�����^�ss6�}��Ny��d���� (Private Key) |
Conclusión
Hemos creado una dirección Ethereum rápidamente con Node JS, con esto solo te enfocas en las funcionalidades de tu aplicación o Proyecto. Cada lenguaje de Programación tiene sus propios métodos y herramientas para poder generar una dirección Ethereum, este Tutorial te servirá como guía para tus Proyectos.
Nota(s)
- En próximos artículos, te compartiré nuevo conceptos y tutoriales sobre Ethereum, Criptomonedas y temas referentes a estas tecnologías.
- La librería o paquete ethereumjs-wallet que use en este Post, puede ser eliminada, actualizare o continuar, esto no depende de mi, si no de los Desarrolladores que dan soporte a esta librería.
Síguenos en nuestras Redes Sociales para que no te pierdas nuestros próximos contenidos.
- Blockchain Node JS
- 26-12-2019
- 09-06-2020
- Crear un Post - Eventos Devs - Foro