Cómo generar una nueva dirección de Ethereum en JavaScript o Typescript
Dirección de Ethereum — Requisitos previos:
- NodeJS instalado en su sistema.
- Un editor de texto
- Terminal, también conocida como línea de comandos
¿Qué es una dirección de Ethereum?
Al iniciar sesión en cualquier plataforma en Internet, debe autenticarse utilizando una combinación de credenciales. Considere una dirección de Ethereum como su nombre de usuario y una clave privada correspondiente como contraseña. Si bien su dirección de Ethereum es pública y se puede compartir, la clave privada siempre debe mantenerse en secreto. El uso de esta combinación le permite interactuar con la cadena de bloques de Ethereum. Una dirección de Ethereum es su identidad en la cadena de bloques y se ve así “0x6E0d01A76C3Cf4288372a29124A26D4353EE51BE”. Se requiere tener una dirección de Ethereum válida para:
- Recepción/envío de moneda Ethereum
- Firmar/Enviar transacciones
- Conexión a aplicaciones descentralizadas
Cómo se genera una dirección de Ethereum:
- Primero se genera una clave privada aleatoria de 64 caracteres (hexadecimales) (256 bits/32 bytes).
Por ejemplo:
0xf4a2b939592564feb35ab10a8e04f6f2fe0943579fb3c9c33505298978b74893
- A continuación, se deriva una clave pública de 128 caracteres (hexadecimales) (64 bytes) a partir de la clave privada generada mediante el algoritmo de firma digital de curva elíptica (ECDSA).
Por ejemplo:
0x04345f1a86ebf24a6dbeff80f6a2a574d46efaa3ad3988de94aa68b695f09db9ddca37439f99548da0a1fe4acf4721a945a599a5d789c18a06b20349e803fdbbe3
- Luego se aplica la función hash Keccak-256 a (128 caracteres/64 bytes) la clave pública para obtener una cadena hash de 64 caracteres (32 bytes). Los últimos 40 caracteres/20 bytes de esta cadena con el prefijo 0x se convierten en la dirección final de Ethereum.
Por ejemplo:
0xd5e099c71b797516c10ed0f0d895f429c2781142
Nota: 0x en la codificación indica que el número/cadena está escrito en hexadecimal.
¿Qué es ethers.js?
ethers.js es una alternativa ligera a Web3.js, que es la biblioteca de Ethereum más utilizada en la actualidad. Algunos consideran que Ethers.js es más estable y tiene menos errores que otras bibliotecas y tiene una documentación extensa. Esta biblioteca también es muy amigable para los principiantes. Ethers.js está muy bien mantenido y muchos desarrolladores nuevos lo prefieren a Web3.js.
Puede obtener más información sobre ethers.js y cómo conectarse a la red Ethereum con ethers.js aquí.
Para instalar la biblioteca ether.js, ejecute el siguiente comando en la terminal.
$ npm i ethers
El código de TypeScript se proporciona a continuación:
Después de la compilación con tsc, obtenemos el siguiente código JavaScript:
Después de ejecutar nuestro código con el comando de nodo, obtenemos el siguiente resultado: