Ir al contenido principal

Cómo conectarse a la red Ethereum utilizando Java / Web3j

Actualizado el
26 de noviembre de 2025

5 minutos de lectura

Resumen

Java es uno de los lenguajes más versátiles que existen y sigue siendo relevante hoy en día. Java goza de gran popularidad gracias a su enorme base de usuarios y a sus múltiples aplicaciones. En esta guía aprenderemos a conectarnos a la cadena de bloques de Ethereum utilizando Java y Web3j.

Algunos antecedentes sobre Java

El lema de Java es «Escribe una vez, ejecuta en cualquier lugar», lo que significa que un programa en Java debería poder ejecutarse en cualquier equipo. La JVM (Máquina Virtual de Java) permite que el código Java se ejecute en múltiples plataformas.

Características de Java:

  • Totalmente orientado a objetos.
  • Cuenta con una de las comunidades de desarrolladores más consolidadas.
  • Con el respaldo del gigante tecnológico Oracle.
  • Cuenta con un montón de marcos de trabajo para crear aplicaciones fiables.
  • Cuenta con una amplia gama de entornos de desarrollo integrado (IDE).

En esta guía, nos conectaremos a la red de Ethereum utilizando Java con la ayuda de una biblioteca de Java llamada Web3j.

¿Qué es Web3j?

Web3j es una biblioteca de Java que interactúa con los contratos inteligentes de Ethereum y se integra con los nodos de Ethereum. Es altamente modular, segura en cuanto a tipos y reactiva, y está diseñada para el desarrollo en Java y Android sobre Ethereum. Web3j elimina la carga que supone escribir un código de integración personalizado para conectarse a la red de la cadena de bloques de Ethereum.

Características de Web3j:

  • Implementación completa de la API del cliente JSON-RPC de Ethereum a través de HTTP e IPC, y compatibilidad con el monedero de Ethereum.
  • Generación automática de envoltorios de contratos inteligentes en Java para crear, implementar, realizar transacciones y llamar a contratos inteligentes desde código Java nativo (compatible con los formatos de definiciónde Solidity y Truffle ).
  • API con funcionalidad reactiva para trabajar con filtros.
  • Compatibilidad con el Servicio de Nombres de Ethereum (ENS).
  • Compatibilidad con nodos de Ethereum alojados.
  • Compatibilidad con los estándares de tokens ERC20 y ERC721
  • Herramientas de línea de comandos.
  • Compatible con Android.

Requisitos previos

  • Java instalado en tu sistema.
  • Un IDE de Java; en este caso, utilizaremos IntelliJ IDEA de JetBrains (versión Community).
  • Un nodo de Ethereum.

Instalación de la biblioteca Java web3j

Para instalar Web3j y ejecutar nuestro código, necesitaremos tener Java instalado en nuestros sistemas. Para comprobar si tienes Java instalado o no, escribe lo siguiente en la terminal o en la línea de comandos:

java -versión

Debe mostrar la versión de Java instalada en tu sistema. Si no lo tienes instalado, descárgalo desde aquí, según el tipo de sistema operativo que utilices.

Podemos instalar Web3j utilizando Maven o Gradle.

Para Maven:

Java 8:

<dependency>
<groupId>org.web3j</groupId>
<artifactId>core</artifactId>
<version>4.9.8</version>
</dependency>

Android:

<dependency>
<groupId>org.web3j</groupId>
<artifactId>core</artifactId>
<version>4.8.7-android</version>
</dependency>

Para Gradle:

Java 8:

compilar ('org.web3j:core:4.6.3')

Android:

compilar ('org.web3j:core:4.6.0-android')

Utilizaremos Maven para gestionar las dependencias de nuestra biblioteca Java e instalarla. En primer lugar, vamos a configurar nuestro IDE IntelliJ. Crea un nuevo proyecto, asígnale el nombre «Web3jDev» y selecciona Maven como sistema de compilación. A continuación, desmarca la casilla «Añadir código de ejemplo » y haz clic en el botón «Crear».

Nuevo proyecto en IntelliJ

Ahora verás que se ha abierto un archivo pom.xml en una ventana. Pega el siguiente código en tu archivo pom.xml, en la línea 10:

<dependencies>
<dependency>
<groupId>org.web3j</groupId>
<artifactId>core</artifactId>
<version>4.9.8</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-nop</artifactId>
<version>1.7.5</version>
<scope>compile</scope>
</dependency>
</dependencies>

El archivo pom.xml en IntelliJ

Aquí estamos añadiendo la dependencia web3j en el archivo pom.xml para interactuar con la cadena de bloques de Ethereum y la dependencia slf4j para gestionar el registro de errores; puedes obtener más información al respecto aquí.

Tu archivo pom.xml debe tener un aspecto similar a este (Web3Dev es el nombre del proyecto):

Archivo pom.xml actualizado en IntelliJ

A continuación, en el panel de la derecha, haz clic en «Maven», despliega el directorio de tu proyecto , selecciona «Lifecycle» y , a continuación , haz doble clic en «install»; con ello se instalará Web3j. Verás un mensaje que dice «BUILD SUCCESS» en la terminal del IDE, tal y como se muestra a continuación.

Compilar Success en la instalación de Web3j

Configura tu punto de conexión de Ethereum en Quicknode

Para desarrollar en Ethereum, necesitarás un punto final de API para conectarte a la red. Puedes utilizar nodos públicos o implementar y gestionar tu propia infraestructura; sin embargo, si quieres tiempos de respuesta 8 veces más rápidos, puedes dejarnos a nosotros el trabajo pesado. Regístrate aquí para crear una cuenta.

Una vez que hayas iniciado sesión, haz clic en «Crear un punto final» y, a continuación, selecciona la cadena de bloques de la red principal de Ethereum. Ten en cuenta que el código de esta guía también es aplicable a otras cadenas basadas en EVM (por ejemplo, Polygon PoS).

Captura de pantalla del punto de conexión de Quicknode para Ethereum

Una vez que hayas creado un punto final, copia la URL de tu proveedor HTTP y tenla a mano, ya que la necesitarás en la siguiente sección.

Conexión mediante Java / Web3j

Ahora vamos a escribir un pequeño fragmento de código Java para obtener el número de bloque más reciente de la cadena de bloques de Ethereum. Para ello, despliega tu proyecto en el panel de la izquierda, haz clic en «src», luego en «main» y, a continuación, haz clic con el botón derecho del ratón en «Java», selecciona «Nuevo» y elige una clase Java; puedes ponerle el nombre que quieras a tu clase Java (véase la imagen siguiente). A continuación, copia y pega esto en el archivo de clase Java que acabas de crear (BlockNumber.java en el siguiente ejemplo):

import org.web3j.protocol.Web3j;
import org.web3j.protocol.http.HttpService;
import java.io.IOException;
import java.math.BigInteger;

public class BlockNumber {
public static void main(String[] args) {
Web3j web3 = Web3j.build(new HttpService("YOUR_QUICKNODE_HTTP_PROVIDER_URL"));

try {
BigInteger blockNumber = web3.ethBlockNumber().send().getBlockNumber();
System.out.println("Latest Ethereum block number: " + blockNumber);
} catch (IOException e) {
e.printStackTrace();
}
}
}

Código Java de BlockNumber en IntelliJ

Asegúrate de sustituir el marcador de posición YOUR_QUICKNODE_HTTP_PROVIDER_URL del código anterior por tu propia URL del proveedor HTTP de Quicknode.

A continuación te ofrezco una breve explicación del código anterior:

Líneas 1-4: Importa las bibliotecas necesarias, como web3j y las bibliotecas nativas de Java, como IOException y BigInteger.

Líneas 6-17: Creamos una clase llamada `BlockNumber` y declaramos un método `main`, que será nuestro punto de entrada para ejecutar el programa Java. A continuación, declaramos una variable `Web3j` que contiene nuestra URL HTTP de Quicknode y establecemos una conexión con la cadena de bloques de Ethereum. Después, se declara una instrucción `try-catch`; la sección `try` contiene una llamada a `web3.ethBlockNumber().send().getBlockNumber()`, que almacena el resultado en la variable `blockNumber`. A continuación, se registra el número de bloque con System.out.println. Si la solicitud no se realiza correctamente, la instrucción «catch» mostrará el error utilizando la biblioteca IOException.

NOTA: Antes de poder ejecutar el código, tendremos que cerrar el IDE de IntelliJ y volver a abrir el proyecto para que se reconozcan las dependencias que hemos instalado.

Una vez que hayamos vuelto a abrir el IDE de IntelliJ, ejecuta el archivo BlockNumber.java haciendo clic con el botón derecho del ratón sobre el nombre del archivo en el explorador de archivos de IntelliJ y seleccionando «Ejecutar BlockNumber.java». Si se ejecuta correctamente, el resultado debería ser similar a este:

Resultado de la ejecución de BlockNumber.java en IntelliJ

Conclusión

¡Enhorabuena! ¡Te has conectado a la red de Ethereum utilizando Java y Web3j! Echa un vistazo al repositorio de GitHub de Web3j para obtener más información y examinar el código que utiliza Web3j. Además, consulta su documentación para saber más.

Si tienes algún problema, alguna duda o simplemente te apetece hablar sobre lo que estás creando, ¡escríbenos en Discord o Twitter!

¡Nos encanta recibir comentarios!

Si tienes algún comentario sobre esta guía, háznoslo saber. ¡Nos encantaría saber tu opinión!

Comparte esta guía