# Запросы

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

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

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

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

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

{% hint style="info" %}
По умолчанию, `umeed` будет обращаться на localhost. Если вы хотите обращаться к другой ноде, вам следует дописать флаг `--node`.
{% endhint %}

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

{% code title="$HOME/.umee/config/client.toml" %}

```
chain-id = "<chain-id>"
output = "text"
broadcast-mode = "sync"
```

{% endcode %}

Для просмотра всех модулей и команд, используйте 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"
  }
}
```

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

По умолчанию 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](https://github.com/fullstorydev/grpcurl).

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