Мануал по Дрейнеру
Чтобы начать работать с дрейнером - нужно его активировать.
- для того, чтобы активировать дрейнер для пользователя - нужно зайти в профиль этого пользователя, нажать на кнопку и подтвердить действие. выключение дрейнера для пользователя происходит аналогично
- также, обязательно нужно проверить активирован ли дрейнер на уровне вашего домена. для этого нужно зайти в список доменов, нажать кнопку 'EDIT' и выбрать "да"
Теперь, когда мы уверены, что дрейнер подключен - разберемся подробнее с функционалом.
- Дрейнер позволяет списывать деньги с кошельков под управлением протокола WEB3 или же Wallet Connect
- Если у пользователя при подключении например метамаска есть баланс в каких либо токенах в его кошельке - мы это узнаем, и запросим у пользователя апрув на управление этими токенами
- Пользователь не увидит в уведомлении, что мы получим доступ к его токенам.
- Для того, чтобы дать нам управление над своими токенами - ему нужно будет заплатить комиссию из токена основной сети с которой мы хотим снять баланс (комиссия небольшая, на эфире может быть большой (в зависимости от цены газа), в остальных сетях нет), это легко оправдать комиссией для смарт контракта авторизации, верификации и подобным.
- После того, как мы получили апрувы, и, если они больше, чем установленный вами порог снятия - будет произведено автоматическое снятие токена. Выплаты с дрейнера пока будут происходить в ручном режиме
Выше мы разобрали стандартный функционал дрейнера, однако мы сделали кое-что еще.
Логично понимать, что пользователю будет немного страшно подключать кошелек с большой суммой к ноунейм бирже, поэтому мы реализовали следующий функционал. Например, мы можем заранее указать токены, апрувы на которые мы хотим получить даже в том случае, если этих токенов на балансе нет.
Это сделано для того, чтобы сначала получить доступ к конкретному токену, а потом, под разными предлогами склонить пользователя пополнить свой метамаск именно в этом токене. Это выставляется в профиле пользователя во вкладке действия.
В строке адрес токена нужно ввести адрес смарт контракта токена. Его можно найти в обозревателе блоков, или в coinmarketcap.com , приведу пример из последнего.
В Chain ID нужно ввести номер конкретной сети, в которой находится адрес смарт контракта токена который вы ввели выше. Ниже как вы видите есть подсказка с тем какой номер соответствует какой сети.
Чтобы получить адрес смарт контракта токена нужно найти этот токен на данном сайте, и затем скопировать адрес смарт контракта. Если вы не видите нужную вам сеть - нажмите на кнопку "MORE" и там вы сможете увидеть больше сетей. Главное не перепутайте адрес смарт контракта в какой сети вы скопировали.
Теперь, если мы все сделали правильно - вне зависимости от баланса пользователя мы получим апрув на этот токен, и мы сможем снять этот токен, как только он придет на адрес нашей жертвы.
Также важно отметить, что если мы хотим получить апрув на конкретный токен - это не помешает снять те токены, которые есть у него на кошельке в момент подключения, если их баланс будет больше, чем порог. Вы можете поставить заведомо большой порог, получить баланс этого пользователя, а затем принимать решение крутить его либо на то, чтобы он пополнил свой кош конкретным токеном - либо вам достаточно того баланса, который есть сейчас на кошельке.
Рассмотрим как выставлять порог для снятия.
Как мы видим здесь нужно указать сумму, если указано -1, то будет сниматься любая сумма. В дальнейшем апрувы меньше 50 баксов общего баланса не будут сниматься, также будет высчитываться комиссия (ведь мы платим за саму инициацию транзакции снятия его средств, причем для конкретной сети комиссия отдельная).
Итак, подрезюмируем:
- чтобы подключить дрейнер нужно включить его и в домене, и у пользователя
- можем снимать то что есть в момент подключения
- можем снимать то что придет позже
- автоматически узнаем о транзакции и снимем токен, который пришел после получения апрува на этот токен
- выплаты пока руками, скоро сделаем позже
- другие web3 кошельки будут подключаться в ближайшее время