# Waves API
Waves предоставляет следующие API для работы с блокчейном:
Node REST API (описан в главе «Нода») позволяет:
- отправить на блокчейн подписанную транзакцию;
- получать данные об аккаунтах, токенах, транзакциях, блоках и т. д.;
- валидировать транзакции, использовать различные утилиты и многое другое.
Каждый владелец ноды может включить на ней REST API. Команда Waves предоставляет пулы нод с публичным API.
Waves Data Service API предназначен для чтения данных из блокчейна, в том числе получения рыночных данных из транзакций обмена, списков транзакций по типу и множеству фильтров и др.
gRPC Server (описан в главе «Нода») — расширение, которое позволяет запускать gRPC-сервисы. gRPC Server предоставляет информацию об аккаунтах, токенах, транзакциях и блоках, а также отправить подписанную транзакцию.
Blockchain Updates (описано в главе «Нода») — расширение для отслеживания изменений, которые внесла каждая транзакция: в балансах аккаунтов, в хранилищах данных, в параметрах токенов и др.
Keeper Wallet API позволяет подписывать и отправлять транзакции и биржевые ордера от имени пользователя в браузере с установленным расширением Keeper Wallet.
Waves Signer — TypeScript/JavaScript-библиотека, которая предоставляет интерфейс с библиотекой-провайдером подписи и дает возможность подписывать и отправлять транзакции от имени пользователей в любом браузере.
💡 Список клиентских библиотек для различных языков программирования представлен в разделе Клиентские библиотеки.
# Какой API использовать
Для получения различных данных блокчейна подойдут разные API.
| Данные | Решение |
|---|---|
| Балансы | |
| Текущий баланс аккаунта | Node REST API или gRPC Server |
| Изменение баланса по высоте блокчейна | Blockchain Updates |
| Токены (ассеты) | |
| Параметры токена, включая тикер; поиск токена по тикеру | Data Service API |
| Распределение ассета по адресам | Node REST API |
| Изменение параметров токена (в результате довыпуска/сжигания, настройки спонсирования и др.) | Blockchain Updates |
| Биржа | |
| Данные об обмене для пары токенов: последняя цена, данные за 24 часа, свечи | Data Service API |
| Транзакции | |
| Список транзакций по адресу | Node REST API или gRPC Server |
| Статус транзакции (confirmed/unconfirmed) | Node REST API или gRPC Server |
| Результат транзакции вызова скрипта | Node REST API или gRPC Server |
| Поиск транзакций по типу и фильтрам | Data Service API |
| Изменения, внесенные каждой транзакцией | Blockchain Updates |
| Записи в хранилищах данных аккаунтов | |
| Текущие значения записей | Node REST API или gRPC Server |
| Изменение записей | Blockchain Updates |
| Лизинги | |
| Активные лизинги | Node REST API или gRPC Server |
| Изменения лизингов | Blockchain Updates |