# REST API ноды
REST API ноды — основной интерфейс для взаимодействия с блокчейном Waves. API предоставляет как публичные методы, так и приватные методы, требующие авторизации с помощью API-ключа.
# API пула публичных нод
Команда Waves предоставляет пулы нод с общедоступными публичными методами API:
- Mainnet: https://nodes.wavesnodes.com
- Testnet: https://nodes-testnet.wavesnodes.com
- Stagenet: https://nodes-stagenet.wavesnodes.com
По этим ссылкам также доступна интерактивная документация методов в Swagger UI.
Вы можете пользоваться публичными нодами для получения информации из блокчейна. Частота и количество одновременных запросов к API публичных нод ограничены, а ответы кешируются на несколько секунд (поэтому данные могут быть устаревшими). Если вы планируете интенсивно использовать API, запустите собственную ноду.
Команда Waves не выдает API-ключ для публичных нод. Если вы хотите вызывать приватные методы, запустите собственную ноду.
# API собственной ноды
По умолчанию REST API включен в настройках ноды и доступен локально по адресу http://127.0.0.1:6869. Интерактивная документация методов в Swagger UI также доступна по этому адресу.
Изменить настройки или выключить API можно в секции waves.rest-api
файла конфигурации ноды, см. раздел Настройки REST API.
Чтобы получить доступ к приватным методам, необходимо указать хеш API-ключа в параметре waves.rest-api.api-key-hash
, см. инструкцию в разделе API-ключ. Остальные параметры API можно оставить по умолчанию.
Чтобы предоставить внешний доступ к API вашей ноды, используйте Nginx’s proxy pass module или SSH port forwarding. Существует возможность открыть внешний доступ к API просто изменив сетевой адрес в параметре конфигурации waves.rest-api.bind-address
, однако мы не рекомендуем так делать в целях безопасности, поскольку нода сама по себе не позволяет ограничить запросы к API по IP-адресу, количеству запросов в секунду и т. п.
# Публичные методы
Node REST API позволяет:
- Читать данные блокчейна:
- данные об аккаунтах: балансы, записи в хранилищах данных аккаунтов, псевдонимы, установленные скрипты;
- данные о токенах: параметры, распределение по аккаунтам;
- активные лизинги;
- блоки;
- транзакции;
- прочие данные: статус активации фич, статус голосования за вознаграждение за создание блока и др.
- Работать с транзакциями: отправлять подписанную транзакцию на блокчейн, валидировать транзакцию перед отправкой, проверять статус транзакции — см. раздел Работа с транзакциями.
- Использовать различные утилиты: получать адрес из публичного ключа, проверять валидность адреса, генерировать случайный seed, вычислять хеши.
💡 Если в REST API ноды нет метода для получения нужной вам информации, ознакомьтесь также с Waves Data Services API.
# Приватные методы
Приватные методы требуют авторизации с помощью API-ключа. API-ключ настраивает владелец ноды.
Приватные методы позволяют:
- Управлять аккаунтами в кошельке ноды.
- Подписывать транзакции от имени аккаунтов из кошелька ноды.
- Управлять нодой: останавливать, выполнять откат, подключаться к другим нодам.
- Получать отладочную информацию.
В Swagger UI приватные методы отмечены значком 🔒.