Запросы

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