Запити

Огляд того, як виконувати запити в Umee

Існує кілька способів виконання запитів в мережі Umee, таких як використання CLI, RPC Tendermint, а також зразків gRPC і API програми. Зверніть увагу, що цей посібник не є вичерпним оглядом всіх можливих запитів і способів їх виклику.

CLI

Як і всі програми на базі 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 цими значеннями в каталозі config. Наприклад:

$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, а сервер API шлюзу gRPC працює на порту 1317 - обидва ці порти налаштовуються в app.toml.

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

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

Ми рекомендуємо використовувати маршрути GRPC Gateway API замість застарілих маршрутів. Застарілі маршрути 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