Introducción

Esta guía explica cómo correr un nodo oráculo OMOC en un servidor Linux utilizando Docker.

El objetivo es proporcionar un proceso de configuración simple y reproducible para los operadores que deseen participar en la red de oráculos de Money On Chain sin necesidad de contar con conocimientos profundos de infraestructura.

El nodo OMOC:

  • Se conecta al protocolo de oráculos de Money On Chain.
  • Escucha los pares de monedas configurados.
  • Participa en las rondas de oráculos.
  • Publica precios on-chain cuando es seleccionado por consenso.

El servicio se ejecuta íntegramente en Docker y puede desplegarse en cualquier proveedor de VPS que admita Linux y acceso por SSH.

Los ejemplos de esta guía utilizan:

  • Ubuntu Server
  • Docker
  • DigitalOcean

Sin embargo, puede utilizarse cualquier proveedor o infraestructura equivalente.

Antes de comenzar

Correr un nodo OMOC no requiere conocimientos avanzados de infraestructura, pero debes sentirte cómodo trabajando con un servidor Linux mediante SSH y ejecutando comandos desde una terminal.

Requisitos

Antes de continuar, asegúrate de tener:

  • Un servidor Linux con una dirección IP pública estática.
  • Una conexión a Internet estable.
  • Al menos 1 GB de memoria RAM.
  • Docker instalado y en ejecución.
  • Una billetera compatible con Rootstock.
  • rBTC para pagar las comisiones de transacción.
  • Al menos 250.000 MOC en staking en el protocolo OMOC.

También necesitarás tener cast instalado localmente para generar y administrar las credenciales de la billetera que requiere el oráculo.

Configuración recomendada del servidor

OMOC puede ejecutarse en cualquier servidor Linux capaz de ejecutar Docker.

Para la mayoría de los operadores, es suficiente un servidor con 1 vCPU, 1 GB de RAM y una dirección IPv4 pública estática. Se recomienda Ubuntu 22.04 LTS, aunque otras distribuciones modernas de Linux también deberían funcionar.

Puedes utilizar cualquier proveedor de nube o servicio de VPS, incluidos DigitalOcean, Hetzner, AWS, Vultr o plataformas similares.

Esta guía asume que ya tienes acceso a un servidor Linux y se centra en la configuración y operación del propio oráculo, en lugar de la infraestructura específica de cada proveedor. Las instrucciones de despliegue específicas para AWS están disponibles por separado para los operadores que las necesiten.

Instala Docker

Instala Docker en tu servidor.

Ejemplo para Ubuntu:

sudo apt update
sudo apt install -y docker.io
sudo systemctl enable docker
sudo systemctl start docker

Verifica la instalación:

docker --version

Resultado esperado:

Docker version xx.x.x

Genera tu billetera del oráculo

El nodo oráculo requiere una clave privada de una billetera compatible con Rootstock.

Genera una nueva billetera utilizando cast:

cast wallet new | awk '/Address:/ {print "ADDRESS="$2} /Private key:/ {print "PRIVATE_KEY="$3}' > rootstock-wallet.env && chmod 600 rootstock-wallet.env && cat rootstock-wallet.env

Este comando genera una nueva billetera compatible con Rootstock y guarda su dirección y clave privada en un archivo de entorno local.

Mantén este archivo seguro. La clave privada otorga control total sobre la billetera utilizada por tu oráculo.

Salida de ejemplo:

ADDRESS=0x...
PRIVATE_KEY=0x...

Importante: Mantén este archivo seguro y nunca compartas la clave privada. Cualquier persona que tenga acceso a ella puede controlar la billetera utilizada por tu oráculo.

Fondea la billetera de tu oráculo

La billetera de tu oráculo necesita rBTC para pagar las comisiones de transacción al publicar precios on-chain.

Antes de continuar, fondea la billetera que generaste en el paso anterior con suficiente rBTC para sostener varias semanas de operación. Puedes obtener rBTC a través de exchanges, puentes o servicios como Boltz.

Quedarse sin rBTC no desconectará tu oráculo de la red. Seguirá participando en el consenso y contribuyendo a la seguridad del protocolo. Sin embargo, ya no podrá publicar transacciones cuando sea seleccionado, por lo que dejará de recibir recompensas hasta que la billetera vuelva a tener fondos.

Elige tus pares de monedas

Los oráculos OMOC participan en el protocolo suscribiéndose a uno o más pares de monedas. Cada suscripción permite que el oráculo participe en las rondas asociadas a ese mercado y aporte datos de precios a la red.

Actualmente, los pares de monedas compatibles incluyen BTC/USD, RIF/USD, USD/ARS y USD/COP.

A menos que tengas un motivo operativo específico para limitar tu participación, generalmente se recomienda suscribirse a todos los pares de monedas disponibles. Esto maximiza la participación de tu oráculo en la red y simplifica su operación continua.

Configura el oráculo

El nodo puede configurarse completamente mediante variables de entorno.

Crea un archivo de entorno:

nano env_oracle

Configuración de ejemplo:

NODE_URL=https://public-node.rsk.co
NETWORK_ID=30

ORACLE_ADDR=0x...
ORACLE_PRIVATE_KEY=0x...

ORACLE_PORT=5556

REGISTRY_ADDR=0x...

COIN_PAIR_LIST=BTCUSD,RIFUSD,USDARS,USDCOP

Variables de entorno

NODE_URL

Endpoint RPC del nodo Rootstock.

Ejemplo:

NODE_URL=https://public-node.rsk.co

NETWORK_ID

Identificador de la red Rootstock.

Mainnet:

NETWORK_ID=30

Testnet:

NETWORK_ID=31

Mainnet se recomienda para operadores en producción.

ORACLE_ADDR

La dirección pública de la billetera de tu oráculo.

ORACLE_PRIVATE_KEY

La clave privada asociada a la dirección del oráculo.

REGISTRY_ADDR

La dirección del contrato del registro de oráculos.

COIN_PAIR_LIST

Lista de pares de monedas suscritos, separados por comas.

Ejemplo:

COIN_PAIR_LIST=BTCUSD,RIFUSD

Corre el nodo oráculo

Inicia el contenedor:

docker run -d \
  --restart always \
  --name omoc-node \
  --publish 5556:5556 \
  --env-file ./omoc.env \
  --log-driver json-file \
  --log-opt max-size=50M \
  --log-opt max-file=15 \
  --log-opt compress=true \
  moneyonchain/omoc_node:latest

Verifica que el nodo esté en ejecución

Comprueba el estado del contenedor:

docker ps

Deberías ver:

omoc-node

Revisa los registros

Puedes supervisar la actividad de tu oráculo inspeccionando los registros del contenedor:

docker logs -f omoc-node

Después de iniciar el nodo, deberías ver mensajes que indiquen un inicio correcto, la conexión a la red Rootstock y actividad relacionada con los pares de monedas configurados para el oráculo. A medida que el nodo comience a participar en el protocolo, los registros también mostrarán actividad relacionada con las rondas.

Si el nodo no puede conectarse o no parece estar funcionando correctamente, comienza verificando que el endpoint RPC configurado en NODE_URL sea accesible. También debes confirmar que las reglas del firewall permitan el tráfico de red necesario y que la red de Docker esté funcionando correctamente en el servidor.

Registra tu oráculo

Una vez que el nodo esté funcionando correctamente:

Abre la dApp de oráculos de Money On Chain:

https://moc.moneyonchain.com/

Conecta tu billetera.

Configuración de la red Rootstock en MetaMask

Haz staking de la cantidad requerida de MOC

Para poder suscribir tu oráculo a pares de monedas y participar en las rondas, necesitas depositar una cantidad mínima de MOC en staking dentro del sistema. Para hacerlo, primero debes disponer de los tokens u obtenerlos de la Fundación Money On Chain. Luego, ve a la página Staking, abre la pestaña Deposit y autoriza al sistema a acceder a tus MOC Token. Después podrás realizar el depósito de los tokens.

Registra la dirección y el endpoint público de tu oráculo

Para registrar tu oráculo, ve a la pestaña Oracles, en la sección Operation. Allí deberás ingresar la dirección del oráculo y la dirección de red. Desde esa misma sección también podrás cambiar la dirección del oráculo, modificar la dirección de red y eliminar el oráculo.

Suscríbete a los pares de monedas

Para que tu oráculo pueda participar en las rondas de los pares de monedas, deberás suscribirte a cada uno de ellos. En la sección Coin Pairs, abre el par de monedas que desees y haz clic en Subscribe.

En este punto:

  • Es posible que tu oráculo deba esperar al próximo switchRound.
  • Dependiendo de los límites actuales de participación de oráculos.

Verifica el registro

Una vez completado el registro, dedica unos minutos a confirmar que todo esté funcionando correctamente.

Comienza revisando la dApp de oráculos y verifica que tu oráculo aparezca en la lista de operadores registrados. También debes confirmar que los pares de monedas a los que te suscribiste se muestren correctamente.

A continuación, revisa los registros del nodo:

docker logs -f omoc-node

¿Qué sigue?

En este punto, tu oráculo debería estar completamente configurado y participando en la red.