Ejecuta un Nodo de Transacciones
Los nodos de transacciones se utilizan para leer el hisorial de las transacciones o para enviar transacciones en la red Palm sin realizar tareas de validador.
Los validadores se encargan de proponer bloques y validarlos dentro de las franjas horarias. En las redes IBFT 2.0, los validadores validan las transacciones y los bloques, turnándose para crear el siguiente bloque. Antes de insertar el bloque en la cadena, una supermayoría (superior al 66%) de validadores debe firmarlo.
Para garantizar que tu nodo pueda unirse con éxito a la red Palm, debes especificar los bootnodes correctos para el entorno al que te diriges. De este modo, el nodo podrá encontrar los nodos existentes en la red.
Conectarse a los nodos existentes es importante porque permite al nodo descargar el historial de la cadena y enviar transacciones a los nodos validadores
El tutorial de esta sección permite ejecutar localmente un nodo de transacciones Palm para el entorno de red de destino. Los entornos de red disponibles son:
Red | Descripción |
Red de prueba Palm | Un entorno persistente que no se reiniciará. Es útil como entorno de ensayo y para pruebas a largo plazo. Puedes Utilizar el Puente para transferir activos entre la red e pruebas Palm y la red de pruebas Ethereum Goerli. |
Red principal Palm | Entorno de producción de Palm, donde los contratos y las cuentas tienen un valor real. Puedes Utilizar el Puente para transferir activos entre la red principal Palm y la red principal Ethereum. |
- Instalar Hyperledger Besu. Besu cuenta con una lista de requisitos de sistema aquí. Alrededor de 200GB en espacio de disco disponible es necesario para almacenar la base de datos de la Red Principal Palm, se recomiendan 8GB en RAM.
Crea el directorio en el que se almacenarán los archivos necesario y el directorio de información:
Cámbiate al directorio palm-node:
Si despliega su nodo en un servicio en la nube como AWS, le recomendamos que utilice un segundo volumen de datos para el directorio de datos. En caso de fallo del host, el volumen de datos puede trasladarse rápidamente a otro host para restablecer la conectividad con un tiempo de inactividad mínimo.
El archivo génesis especifica la configuración de toda la red y define el primer bloque de la cadena. Cada entorno Palm utiliza un archivo génesis diferente.
El siguiente comando curl descarga el archivo géness para el ambiente solicitado.
El archivo de configuración es un archivo TOML que se utiliza para especificar las opciones en Besu. De forma alternativa, puedes especificar las opciones diréctamente al iniciar Besu. Los siguientes ejemplos de archivos de configuración incluyen las direcciones bootnode para los ambientes solicitados.
Si estás ejecutando múltiples instancias Besu clients, asegúrate de configurar la opción rpc-http-port para evitar conflictos en los puertos.
Crea un archivo TOML con el nombre config.toml con las siguientes opciones:
- Para la opción data-path, reemplaze <PATH> con la ubicación del directorio de nodo creado en el Paso 1.
Inicia Besu y especifica el archivo de configuración. Asegúrate de que te encuetras en el folder palm-node el mismo del Paso 1.
El nodo intenta conectarse a los bootnodes y a otros nodos de transacción, y comienza la sincronización una vez que encuentra suficientes pares.
Si no necesita un nodo de archivo completo de todas las transacciones de la cadena, puede acelerar el tiempo de sincronización con los demás pares mediante BESU_SYNC_MODE=FAST para una sincronización rápida (el valor predeterminado es BESU_SYNC_MODE=FULL para una sincronización completa).
Deberás instalar JDK si te encuentras con el siguiente error:
The operation couldn’t be completed. Unable to locate a Java Runtime. Please visit http://www.java.com for information on installing Java.
Una vez sincronizada la red, abre otra terminal y utiliza curl para llamar el JSON-RPC API net_peerCount que devuelve el número de pares conectados actualmente al cliente.
El resultado muestra los validadores de la red Palm: