Brale Недавно была выпущена обновленная версия API-интерфейсов «stablecoin». Проект начался с этапа проектирования в первом квартале, во втором квартале перешел в стадию разработки, а вскоре после этого был запущен в производственную среду для реальных клиентов.

API выполняет множество задач. Этот пост не является подробным обзором всех его функций. Это просто запись о том, как я тестировал его возможности — в основном ради удовольствия, а отчасти для того, чтобы понять, как другие могут подойти к его использованию в первый раз.

Использование LLM для работы с «API»

В последний раз, когда я работал над чем-то подобным, крупные языковые модели ещё не были частью рабочего процесса. Теперь всё изменилось. С помощью Cursor и грамотно сформулированных запросов теперь легко создавать рабочие прототипы и проверять гипотезы в режиме реального времени.

Я по-прежнему люблю использовать Postman для изучения API, но мне хотелось понять, каково это — использовать «Brale» (API) в среде, более близкой к реальному интерфейсу.

Первое тестирование: аутентификация

Я начал с базового процесса аутентификации — использовал client_id и client_secret для получения токена bearer. Ничего особенного. Просто достаточно, чтобы убедиться, что учетные данные работают и имеют правильный объем доступа.

Этот небольшой тест находится здесь: github.com/superduperdot/auth-app

Второй тест: балансы

Это оказалось немного сложнее. Интерфейс Brale API поддерживает несколько типов значений (каждый из которых представляет отдельный актив) и несколько типов переводов (каждый из которых представляет цепочку или сеть). Поэтому процесс получения остатков выглядел следующим образом:

  • Получить account_id, связанный с вашими учетными данными

  • Используйте этот ID для получения списка адресов

  • Отфильтровать результаты по типу: «internal», чтобы выделить депозитарные кошельки

  • Пройти по всем известным комбинациям типов значений и типов переводов

  • Запросить остатки и зафиксировать полученные результаты

Приложение находится здесь: github.com/superduperdot/balance-app

Поиск поддерживаемых типов

Типы перевода (TransferTypes) хорошо задокументированы. Типы значений (ValueTypes) пока не представлены напрямую в документации, поэтому я извлек их из действующего приложения и разместил оба списка на GitHub для будущего использования:

  • Список типов TransferTypes из Brale

  • Список ValueTypes для Brale

Получение цен из конечной точки данных также прошло без проблем.

Другие замечания

  • Если вы работаете локально, ожидайте проблем с CORS — используйте прокси.

  • Аутентификация происходит на auth.brale.xyz; все остальное — на api.brale.xyz.

  • Различие между account_id и address_id по-прежнему создает для меня небольшие ошибки, если я не буду осторожен.

  • Эти тестовые приложения хранят учетные данные локально и не безопасны для использования в производственной среде. Это сделано намеренно

Здесь ничего не является окончательным. Эти тесты были в основном посвящены скорости и удобству использования. Цель заключалась в том, чтобы увидеть, как быстро можно перейти от учетных данных к чему-то реальному, не полагаясь на внутренние инструменты или глубокое знание платформы.

Если вы изучаете «Brale» (API), возможно, это сократит путь. Если нет, всё равно стоило потратить время, чтобы посмотреть, как новый уровень ведёт себя в реальных условиях. CLI тоже может быть полезен для тестирования.