En esta página
Mantenimiento del oráculo
Mantener tu oráculo actualizado garantiza la compatibilidad con los últimos cambios del protocolo, las mejoras de seguridad y los pares de monedas compatibles.
Actualización rápida (recomendada)
La forma más sencilla de actualizar tu oráculo es ejecutar el script de actualización desde el directorio donde se encuentra tu archivo env_oracle. De forma predeterminada, normalmente se encuentra en tu directorio personal.
curl -L /omoc_update.sh | bash
Este script realiza automáticamente todo el procedimiento de actualización y es el método recomendado para la mayoría de los operadores.
Actualización manual
Si prefieres realizar la actualización manualmente, sigue los pasos a continuación en el servidor donde se está ejecutando tu nodo oráculo.
Primero, descarga la última imagen del oráculo:
docker pull moneyonchain/omoc_node:latest
Detén el contenedor que se está ejecutando:
docker stop omoc-node
Elimina el contenedor anterior:
docker rm omoc-node
Inicia un nuevo contenedor utilizando la imagen actualizada:
docker run -d \ --restart always \ --log-driver json-file \ --log-opt max-size=50M \ --log-opt max-file=15 \ --log-opt compress=true \ -p 5556:5556 \ --name omoc-node \ --env-file=/home/ubuntu/env_oracle \ moneyonchain/omoc_node:latest
Ajusta la ruta de –env-file si tu archivo env_oracle se encuentra en otra ubicación.
Una vez iniciado el contenedor, verifica que el oráculo esté funcionando correctamente revisando sus registros:
docker logs -f omoc-node
Deberías ver el nodo conectándose a la red, suscribiéndose a los pares de monedas y participando en las rondas. Presiona Ctrl+C cuando termines de revisar los registros.
Checking the Running Version
Los nodos oráculo exponen un endpoint de versión que informa la versión actualmente en ejecución.
Para comprobar la versión localmente en el servidor, ejecuta:
curl http://localhost:5556/version
Respuesta de ejemplo:
{ "version": "1.3.7.0" }
También puedes acceder a este endpoint de forma remota utilizando la dirección IP pública de tu servidor:
http://:5556/version
El endpoint /version está disponible en las versiones del oráculo a partir de la versión **1.3.6.3**. Las versiones anteriores no son compatibles con este endpoint.
Recent Releases – Changelog
1.3.7.5Protección contra tareas bloqueadasÚltima versión
Esta versión agrega una protección para tareas potencialmente bloqueadas, elimina los planificadores automáticos de rondas obsoletos, corrige el endpoint de información de depuración y actualiza la dependencia de fuentes de precios a v0.7.9.
1.3.7.4Publicación condicional de RIF/USD
Introduce mejoras en la publicación condicional de RIF/USD, entre ellas:
- Se ajustó la frecuencia predeterminada del mecanismo de respaldo de RIF/USD para dar más tiempo de publicación a los oráculos seleccionados.
- Se redujeron las publicaciones de respaldo innecesarias.
1.3.7.3Validación de firmas y configuración de RIF/USD
Introduce correcciones y mejoras, incluyendo:
- Mejora la validación de firmas para alinearla con el contrato inteligente.
- Actualiza la configuración predeterminada de publicación condicional de RIFUSD.
1.3.7.2Mejoras en la publicación de precios
Introduce mejoras en el mecanismo de publicación de precios, entre ellas:
- Preparado para la futura implementación de
TasksRunnerMIP#263102 - Mejorar la publicación condicional.
1.3.7.0Optimización de costos de publicación
Introduce mejoras para reducir los costos de publicación de precios, entre ellas:
- Límites dinámicos para el precio mínimo del gas.
- Parámetros de publicación que se adaptan a las condiciones del protocolo de la stablecoin.
1.3.6.9Soporte para USD/ARS y USD/COP
Agrega soporte oficial para: USD/ARS y USD/COP.
1.3.6.8Corrección del precio del gas entre rondas
Correcciones relacionadas con la seguridad:
- Corrección del precio del gas durante el cambio de ronda de pares de monedas.
1.3.6.7Límite de gas y seguridad de FastAPI
Correcciones relacionadas con la seguridad:
- Corrección del límite de gas durante el cambio de ronda de pares de monedas.
- Mitigación de denegación de servicio en FastAPI.
1.3.6.6Fuentes de precio del gas y de RIF
Mejoras en las fuentes de precio del gas y de RIF.
- Agrega límites estrictos al
precio del gas. - Copias locales de los
ABIde los contratos. - Registro adicional del
precio del gas. - Correcciones en la fuente de precio de
RIF.
1.3.6.5Corrección de picos en el precio del gas
Corrige los picos en el precio del gas causados por anuncios incorrectos de 20 Gwei provenientes de nodos de la red RSK.
1.3.6.4Documentación y dependencias
Limpieza de documentación y dependencias:
- Mejoras en el Readme.
- Eliminación de dependencias innecesarias.
1.3.6.3Endpoints operativos
Agrega endpoints operativos:
/versiondevuelve la versión del oráculo en ejecución./infoproporciona información adicional sobre el estado del nodo.
1.3.6.2Reporte de errores en solicitudes de firma
Mejora el reporte de errores cuando se rechaza una solicitud de firma, facilitando la identificación de las condiciones de publicación que no se están cumpliendo.
1.3.6.1Compatibilidad entre versiones de contratos
Mejora la compatibilidad entre distintas versiones de los contratos al permitir que el nodo oráculo utilice la dirección del oráculo o la dirección del propietario al interactuar con los contratos del protocolo.
Elimina tu oráculo
Antes de eliminar un oráculo del protocolo, primero debe darse de baja de todos los pares de monedas. Esto garantiza que el oráculo ya no sea asignado para participar en las rondas de publicación de precios.
Ve a la página Oracles de la dApp y desplázate hasta la sección Coin Pairs. Cancela la suscripción a cada par de monedas hasta que no quede ninguno asignado a tu oráculo.

Una vez eliminadas todas las suscripciones a pares de monedas, ve a la sección Operation y selecciona Remove Oracle.

Una vez confirmada la transacción, tu oráculo será eliminado del protocolo y dejará de participar en las operaciones del sistema de oráculos.
Solución de problemas
Esta sección cubre los problemas más comunes que pueden impedir que un nodo oráculo se inicie correctamente o participe en las rondas.
**Revisa los registros del oráculo**
Comienza revisando los registros del contenedor. La mayoría de los problemas de configuración o conectividad aparecerán allí primero.
docker logs -f omoc-node
Si solo quieres revisar las entradas más recientes del registro, ejecuta:
docker logs --tail 100 omoc-node
Problemas de conexión con el nodo RPC
Tu oráculo necesita acceso a un nodo RPC de Rootstock para leer los contratos del protocolo y enviar transacciones. Si el nodo RPC no está disponible, el oráculo no podrá leer el registro de contratos ni obtener la información de los pares de monedas.
Un problema de conexión puede aparecer en los registros como errores de tiempo de espera similares al siguiente:
WARNING: Error getting param from blockchain 'ORACLE_MANAGER_ADDR'
ERROR: Oracle loop Error getting coin pairs
ERROR: SchedulerSupportersLoop error getting is_ready_to_distribute
Esto normalmente significa que la URL del RPC configurada en tu archivo de entorno no es accesible desde el servidor donde se ejecuta el oráculo.
Para comprobar la conectividad con el RPC desde tu servidor, ejecuta:
RPC_URL="<ROOTSTOCK_RPC_URL>"
curl -s -X POST \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":123}' \
"$RPC_URL"
Si el nodo RPC es accesible, devolverá una respuesta JSON con un campo result que contiene el número del bloque más reciente en formato hexadecimal.
Respuesta de ejemplo:
{ "jsonrpc": "2.0", "id": 123, "result": "0x6f8d3a" }
Si no hay respuesta o la solicitud agota el tiempo de espera, verifica que la URL del RPC sea correcta y que tu servidor pueda acceder a ella a través de la red. También verifica que ninguna regla de firewall, grupo de seguridad del proveedor de nube o restricción del proveedor del RPC esté bloqueando la conexión.
Para mostrar el número de bloque en un formato más legible, puedes utilizar jq:
RPC_URL="<ROOTSTOCK_RPC_URL>"
curl -s -X POST \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":123}' \
"$RPC_URL" \
| jq -r '.result' \
| xargs printf "%d\n"
Este comando requiere que jq esté instalado en el servidor.
Puerto del oráculo inaccesible
Tu oráculo debe ser accesible desde Internet a través del puerto configurado. De forma predeterminada, el oráculo escucha en el puerto 5556.
Desde una máquina externa, prueba la conexión con:
curl http://`<YOUR_SERVER_IP>`:5556
Una respuesta como la siguiente indica que el puerto está abierto y que el servicio del oráculo está respondiendo:
The request was not made by a selected oracle.
Este mensaje es el comportamiento esperado. Significa que el oráculo recibió la solicitud, pero la rechazó porque no provenía de un llamador autorizado del protocolo.
Si la solicitud agota el tiempo de espera o la conexión es rechazada, verifica que el contenedor de Docker esté en ejecución y que el puerto esté publicado correctamente:
docker ps
Deberías ver un mapeo de puertos similar al siguiente:
0.0.0.0:5556->5556/tcp
Si el contenedor está en ejecución pero el puerto sigue siendo inaccesible, verifica el firewall de tu servidor y cualquier firewall o grupo de seguridad del proveedor de nube. El puerto del oráculo debe permitir conexiones TCP entrantes desde Internet.
