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ó launch
el 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_pair
datos 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