Habilitando oráculos

Descripción general

Este documento describe los procedimientos para permitir que un oráculo se alimente de una Minitia.

El equipo de Initia desarrolló una implementación personalizada de Slinky para que L2 utilice la fuente de datos de Oracle de L1. La arquitectura de alto nivel implica transmitir la extensión de voto de Oracle de L1 a L2 y utilizar el estado del cliente IBC para verificar esta extensión de voto.

Tutorial

Paso 1: Conéctate con Minitia

Si usó launchel comando minitia, puede omitir este paso.

Para habilitar Slinky Oracle en su L2, debe preparar una ID de cliente IBC que esté conectada a la L1 inicial. Véase Hermes Relayer (IBC) .

Copiar

minitiad tx opchild set-bridge-info ${BRIDGE_ID} ${BRIDGE_ADDR} ${L1_CHAIN_ID} ${L1_CLIENT_ID} ${BRIDGE_CONFIG_PATH}

Por ejemplo,

Copiar

# `L1_CLIENT_ID` is `07-tendermint-0` in general
minitiad tx opchild set-bridge-info 44 init1raxlej4cyxhwd4mxstcycpj7lwpzmsyfjn29nhaycv3djr8gfv0qjyregt mahalo-3 07-tendermint-0 bridge-config-example.json

Copiar

// bridge-config-example.json
{
        "challenger": "init1fhsl44zah6yw96ugf54nua2mxw4f3rz7dxx7ra",
        "proposer": "init1plcch8hdyc5pklaequpuzvdr053vfyjpupe6e8",
        "batch_info": {
          "submitter": "init1uhkwm573qp4vf9wmze8uxcwf8hx7f3ld9anfvm",
          "chain": "l1"
        },
        "submission_interval": "3600s",
        "finalization_period": "3600s",
        "submission_start_time": "2024-05-01T00:00:00.000Z",
        "metadata": null
}

Además de utilizar CLI, también puede utilizar los robots OPinit. Consulte Configuración de robots OPinit .

Paso 2: agregar pares de divisas

Aunque los Minitias reciben los datos del oráculo a través de retransmisores, los currency_pairdatos aún deben estar registrados en un Minitia para poder utilizar los datos del oráculo de Minitia.

Copiar

minitiad tx opchild execute-messages ${MESASGE_PATH}

Por ejemplo,

Copiar

minitiad tx opchild execute-messages add-currency-example.json

Copiar

// add-currency-example.json
{
    "messages": [{
        "@type": "/slinky.oracle.v1.MsgAddCurrencyPairs",
        "authority": "init1gz9n8jnu9fgqw7vem9ud67gqjk5q4m2w0aejne",
        "currency_pairs": [{
            "Base": "BTC",
            "Quote": "USD"
        }]
    }]
}

Si la cadena aún no se ha creado, la configuración de génesis también está disponible.

Copiar

// genesis.json
... 
"oracle": {
    "currency_pair_genesis": [
        "currency_pair": {
            "Base": "BTC",
            "Quote": "USD"
        }
    ]
}
...

Paso 3: consultar precios

Copiar

minitiad q oracle price BITCOIN USDC

Este comando recupera los datos de precios más recientes de Bitcoin en USD, obtenidos por el oráculo.

Last updated