Consultas

Una revisión de cómo realizar consultas en Umee

Existen múltiples formas de realizar consultas dentro de la red de Umee, tales como el uso de CLI, RPC de Tendermint, y las instancias gRPC y API de la aplicación. Tenga en cuenta que esta guía no es un resumen exhaustivo de todas las consultas posibles y cómo invocarlas.

CLI

Como todas las aplicaciones basadas en SDK de Cosmos, los operadores pueden invocar consultas contra un proceso umeed en ejecución. Por convención, las consultas se realizan bajo un subcomando de módulo.

Por ejemplo, para consultar el saldo de una cuenta:

$ umeed q bank balances umee17lu4h5nh28ctv9y6ldt0apqz7dxm8arvttx5xc
balances:
- amount: "5500000000000"
  denom: uumee
pagination:
  next_key: null
  total: "0"

Por defecto, el proceso umeed consultará contra el localhost. Si desea consultar un nodo externo, debe proporcionar el indicador --node.

Para evitar tener que proporcionar los mismos indicadores una y otra vez, como --chain-id y --node, puede completar un archivo client.toml con estos valores en el directorio de configuración. Por ejemplo:

$HOME/.umee/config/client.toml
chain-id = "<chain-id>"
output = "text"
broadcast-mode = "sync"

Consulte $ umeed --help para ver todos los módulos y comandos de consulta.

API y gRPC

Si está habilitado, un nodo de umeed puede exponer una API gRPC y gRPC Gateway. Por defecto, el servidor gRPC se ejecuta en el puerto 9090 y el servidor gRPC Gateway API se ejecuta en el puerto 1317: ambos puertos son configurables en app.toml.

Por ejemplo, para consultar el saldo de una cuenta:

$ curl http://localhost:1317/cosmos/bank/v1beta1/balances/umee17lu4h5nh28ctv9y6ldt0apqz7dxm8arvttx5xc
{
  "balances": [
    {
      "denom": "uumee",
      "amount": "5500000000000"
    }
  ],
  "pagination": {
    "next_key": null,
    "total": "1"
  }
}

Recomendamos utilizar las rutas de la API de gRPC Gateway en lugar de las rutas heredadas obsoletas. Las rutas API heredadas obsoletas se eliminarán por completo en una futura versión de SDK de Cosmos. Todas las rutas de API de gRPC Gateway contienen la versión de Protobuf, por ejemplo, v1beta1.

Por defecto, la API de gRPC Gateway consulta el estado en función de la altura actual del bloque. También admite consultas en alturas anteriores a través del encabezado x-cosmos-block-height:

$ curl -H "x-cosmos-block-height: 400" http://localhost:1317/cosmos/bank/v1beta1/balances/umee17lu4h5nh28ctv9y6ldt0apqz7dxm8arvttx5xc
{
  "balances": [
    {
      "denom": "uumee",
      "amount": "350000000011"
    }
  ],
  "pagination": {
    "next_key": null,
    "total": "1"
  }
}

También puede invocar consultas gRPC directas contra el servidor gRPC. Se recomienda utilizar la herramienta grpcurl.

Por ejemplo, para consultar el saldo de una cuenta:

$ grpcurl -d '{"address": "umee17lu4h5nh28ctv9y6ldt0apqz7dxm8arvttx5xc"}' --plaintext 0.0.0.0:9090 cosmos.bank.v1beta1.Query/AllBalances
{
  "balances": [
    {
      "denom": "uumee",
      "amount": "5500000000000"
    }
  ],
  "pagination": {
    "total": "1"
  }
}

Last updated