Запросы

Есть множество вариантов того, как отправлять запросы в сеть Umee, такие как: использование командной строки, RPC Tendermint, а также gRPC и API самого приложения. Обратите внимание, что эта инструкция не является исчерпывающей в отношении абсолютно всех возможных запросов и того, как их вызывать.

Командная Строка

Как и все приложения, построенные на Cosmos SDK, операторы могут вызывать запросы во время работы umeed. Запросы работают по модульному типу, имея подкоманды в каждом из модулей.

Например, запрос на получение баланса аккаунта выглядит так:

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

По умолчанию, umeed будет обращаться на localhost. Если вы хотите обращаться к другой ноде, вам следует дописать флаг --node.

Для того, чтобы избежать указания одних и тех же флагов, таких как --chain-id и --node снова и снова, вы можете указать эти значения в файле client.toml в конфигурационной директории. Например:

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

Для просмотра всех модулей и команд, используйте umeed --help.

API и gRPC

Если указано в конфигурации, umeed может предоставлять gRPC и gRPC Gateway API. По умолчанию gRPC сервер запускается на порте 9090, а gRPC Gateway API запускается на порте 1317 - оба эти порта конфигурируются в файле app.toml.

Например, для запроса баланса аккаунта можно использовать:

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

Мы рекомендуем использовать маршруты API шлюза gRPC вместо устаревших маршрутов. Устаревшие маршруты API будут полностью удалены в будущем выпуске Cosmos SDK. Все маршруты API gRPC Gateway содержат версию Protobuf, например. v1beta1.

По умолчанию API шлюза gRPC запрашивает состояние относительно текущей высоты блока. Он также поддерживает запросы на предыдущих высотах через заголовок 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"
  }
}

Вы также можете вызвать прямой gRPC запрос у gRPC сервера. Мы рекомендуем использовать grpcurl.

$ 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