Как правильно принимать платежи пользователей в сети Tron?
Здравствуйте!
Столкнулся с задачей по приёму криптоплатежей в приложении. Проект полностью легальный, цель — реализовать корректный и масштабируемый приём USDT через сеть Tron.
Идея в том, чтобы под каждого пользователя генерировался отдельный кошелёк. Основной вопрос: каким образом отслеживать факт его пополнения?
В интернете часто советуют парсить адреса через API, но у API есть лимиты. Возникает вопрос: как это работает у проектов с 10k+ пользователей? Постоянный парсинг выглядит неэффективно и сложно масштабируется.
Есть вариант использовать собственную ноду и слушать транзакции напрямую из блокчейна, но там сотни операций в секунду, и их нужно фильтровать по своим адресам. Не уверен, что это оптимальное решение.
Пока реализовал промежуточный вариант: у меня есть 5–10 собственных кошельков, пользователю выдаётся один из них, а идентификация происходит по уникальной сумме транзакции. Однако у этого метода есть серьёзные недостатки, и в долгосрочной перспективе он непрактичен.
Хотел бы узнать у специалистов, как подобные задачи решаются «правильно» и с возможностью масштабирования. Готов рассмотреть платную консультацию или аудит, чтобы разобраться в архитектуре и реализовать рабочее решение.
Tronscan имеет свой API и через него можно решить вопрос контроля транзакции на определенные кошельки.
Только непонятно
Основной вопрос: каким образом отслеживать факт его пополнения?
А вам это зачем? Т.е. зачем - понятно, зачем сам факт пополнения отслеживать по всем клиентам? Сама по себе трансакция это дело клиента, если за этим не должно последовать немедленно порождение какого либо события, ну т.е. клиент не открыл свою страницу в приложении с балансом, то и факт отслеживания трансакции можно поставить в какую то дальнюю очередь. Тут все очень конечно индивидуально, но не понимая всего проекта трудно что-то советовать умное на этот счёт.
использовать собственную ноду и слушать транзакции напрямую из блокчейна, но там сотни операций в секунду, и их нужно фильтровать по своим адресам
в мире криптовалют это самый правильный способ, но и самый сложный, почти наверняка красивых и удобных библиотек не найти (например когда я ковырялся с tron, давно правда, мне было сложно анализировать сырую транзакцию контрактов обмена на dex-ах)
А вот использовать централизованный api есть главная опасность, централизованный сервис подаст вам неверную информацию и вы потеряете деньги, и найти и доказать что-либо будет не просто... и главное добиться от централизованного сервиса ответственности.