# 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 |