Софт полностью отработал в 20 потоков
Статистика
Потраченное время: 2.5 часа
Кол-во транзакций: 5-7 stargate, 2-3 core + 1 harmony + покупка и стейкинг $STG, покупка и бридж Btc.b
Итого: 11-15 бриджей, 2 покупки, и сответственно х2 апрувов
Задержки: 30-70 секунд между транзакциями, 20-67 секунд между аккаунтами, 30-300 секунд между последней транзакцией и депозитом
Комиссии
А теперь самое интересное. Учтите информацию выше и газ, он сейчас 80-100 держится
Вот сколько было выведено на кошельки:
30.08$ CORE | 50.86$ AVAX | 35,51$ FTM | 73.71$ BNB | 41.6$ MATIC
Общая сумма: 231,76$ ~12$ на один аккаунт
Вот сколько осталось на кошельках:
4.5$ CORE | 17.2$ AVAX | 8$ FTM | 36.3$ BNB | 23.6$ MATIC
Общая сумма: 89,6$
Фактические затраты на один аккаунт ~7-8$ (c учетом комиссии за вывод с бирж)
В итоге получилось что осталось очень много из-за довыводов по минималке(газ высокий и расчеты соответственно не очень хорошо происходят как вы понимаете). Я увеличу их, чтобы минимизировать эти расходы. А также в ближайшую неделю напишу скрипт для автосбора нативных токенов с возможностью часть оставить по желанию, будет выдан как дополнение к этому софту.
Но в любом случае фактические затраты меня радуют! Продолжение..
Статистика
Потраченное время: 2.5 часа
Кол-во транзакций: 5-7 stargate, 2-3 core + 1 harmony + покупка и стейкинг $STG, покупка и бридж Btc.b
Итого: 11-15 бриджей, 2 покупки, и сответственно х2 апрувов
Задержки: 30-70 секунд между транзакциями, 20-67 секунд между аккаунтами, 30-300 секунд между последней транзакцией и депозитом
Комиссии
А теперь самое интересное. Учтите информацию выше и газ, он сейчас 80-100 держится
Вот сколько было выведено на кошельки:
30.08$ CORE | 50.86$ AVAX | 35,51$ FTM | 73.71$ BNB | 41.6$ MATIC
Общая сумма: 231,76$ ~12$ на один аккаунт
Вот сколько осталось на кошельках:
4.5$ CORE | 17.2$ AVAX | 8$ FTM | 36.3$ BNB | 23.6$ MATIC
Общая сумма: 89,6$
Фактические затраты на один аккаунт ~7-8$ (c учетом комиссии за вывод с бирж)
В итоге получилось что осталось очень много из-за довыводов по минималке(газ высокий и расчеты соответственно не очень хорошо происходят как вы понимаете). Я увеличу их, чтобы минимизировать эти расходы. А также в ближайшую неделю напишу скрипт для автосбора нативных токенов с возможностью часть оставить по желанию, будет выдан как дополнение к этому софту.
Но в любом случае фактические затраты меня радуют! Продолжение..
🔥5👍4❤2
Thor w3
Последние новости по коду Сейчас тестирую 20 потоков, газ просто ебейший, но оттестировать нужно. В течение часа закончу и проверю сколько в итоге потратил на каждый аккаунт. Есть ошибки, что не может не огорчать. Но давайте разберемся какие это ошибки:…
С этого момента была еще одна ошибка связанная с ответом от API 1inch.
Ошибки
Я уже внес изменения и теперь $STG стейкинг и покупка 1inch будут с лимитами попыток - 3 попытки. Я думаю что подобных ошибок мы больше не увидим.
Сейчас подготавливаю версии, как я уже говорил они будут уникальными. В течение часа думаю уже можно отдавать вам софт.
Ошибки
{0}
с бриджом из Fantom больше не случилось и надеюсь больше никогда не случитсяЯ уже внес изменения и теперь $STG стейкинг и покупка 1inch будут с лимитами попыток - 3 попытки. Я думаю что подобных ошибок мы больше не увидим.
Сейчас подготавливаю версии, как я уже говорил они будут уникальными. В течение часа думаю уже можно отдавать вам софт.
🔥2
Пред покупкой что нужно сделать:
Установить PyCharm (есть под винду и мак)
Самый пиздатый и удобный, легко управлять всем
Установить Python 3.10.10 (прям вот этой версии, есть под винду и мак)
Ссылка для скачивания внизу страницы
Не забудьте установить галку на PATH перед установкой
Установить PyCharm (есть под винду и мак)
Самый пиздатый и удобный, легко управлять всем
Установить Python 3.10.10 (прям вот этой версии, есть под винду и мак)
Ссылка для скачивания внизу страницы
Не забудьте установить галку на PATH перед установкой
👌1
Данный канал публичный и будет использоваться в дальнейшем для заметок по разработке софтов.
Хотелось бы поделиться планами на ближайшее время:
Я уже начал исследовать торговлю на биржах через API, в будущих скриптах планирую это использовать API для покупок необходимых нативных токенов, да и в принципе любых токенов, которые будут нужны.
По публичным софтам: они также имеют место быть, в скором времени обновлю скрипт по выводу с бирж, скрипт по голосовалкам на оптимизме, и выпущу пару новых скриптов.
Текущий платный скрипт по Zero для купивших
Скрипт будет обновляться под все будущие проекты LayerZero. Уже начал делать дополнительные модули по скрипту:
- автосбор нативных токенов/стейблов (с возможностью оставить часть)
- использование $BTC.b и $STG для проявления активности (например анстейкнуть $STG закинуть в другой блокчейн и стейкнуть там)
- проявление активности (повторно гонять через софт сейчас не выгодно, в течение месяца сделаю возможность отключать большинство сетей, чтобы вы сами выбирали по какому пути проявить повторную активность на кошельках, сохранив рандомность)
В целом за 6 дней разработки получил ебейший опыт и не планирую останавливаться. Продажа софта по Zero закрыта, я не ожидал такого количества заявок. Если кому не отписал - сори, пришлось выбирать. В целом я планировал не просто продать скрипт, чтобы заработать. Скорее я искал сотрудничество и схожих людей с амбициями по выносу ретродропов (ну и с кошельком тоже)
Также я решил такие масштабные софты с полной автоматизацией больше не увидят паблик в исходном коде, разве только с ограничениями и скомпилированные.
Хотелось бы поделиться планами на ближайшее время:
Я уже начал исследовать торговлю на биржах через API, в будущих скриптах планирую это использовать API для покупок необходимых нативных токенов, да и в принципе любых токенов, которые будут нужны.
По публичным софтам: они также имеют место быть, в скором времени обновлю скрипт по выводу с бирж, скрипт по голосовалкам на оптимизме, и выпущу пару новых скриптов.
Текущий платный скрипт по Zero для купивших
Скрипт будет обновляться под все будущие проекты LayerZero. Уже начал делать дополнительные модули по скрипту:
- автосбор нативных токенов/стейблов (с возможностью оставить часть)
- использование $BTC.b и $STG для проявления активности (например анстейкнуть $STG закинуть в другой блокчейн и стейкнуть там)
- проявление активности (повторно гонять через софт сейчас не выгодно, в течение месяца сделаю возможность отключать большинство сетей, чтобы вы сами выбирали по какому пути проявить повторную активность на кошельках, сохранив рандомность)
В целом за 6 дней разработки получил ебейший опыт и не планирую останавливаться. Продажа софта по Zero закрыта, я не ожидал такого количества заявок. Если кому не отписал - сори, пришлось выбирать. В целом я планировал не просто продать скрипт, чтобы заработать. Скорее я искал сотрудничество и схожих людей с амбициями по выносу ретродропов (ну и с кошельком тоже)
Также я решил такие масштабные софты с полной автоматизацией больше не увидят паблик в исходном коде, разве только с ограничениями и скомпилированные.
👍3🤯2
Генератор кошельков
Порядком надоел cointool, поэтому написал очень-очень простенький скрипт для генерации кошельков. Сохраняет как в таблицу, так и в отдельные файлы:
github.com/th0masi/generate_eth_wallets
При запуске, в консоли, введите количество кошельков.
Порядком надоел cointool, поэтому написал очень-очень простенький скрипт для генерации кошельков. Сохраняет как в таблицу, так и в отдельные файлы:
wallets.txt
- только кошелькиprivate_key.txt
- только приватникиseeds.txt
- только сид-фразыgithub.com/th0masi/generate_eth_wallets
При запуске, в консоли, введите количество кошельков.
🔥7
OKX ебучая параша. Как же он меня бесит...
Мало того что у них до сих пор включены вайтлисты, к тому же у них нельзя просто через API свапнуть токена на спотовом балансе. Нет, у них есть торговый, это же так модно сейчас иметь 33 типа балансов.
Но это даже не проблема, знаете в чем проблема? В том, что долбаебы просто взяли и отключи возможность через API переводить некоторые токены с торгового счета на спотовый. А дальше как хочешь, вот ETH можно переводить, а FTM нет.
Ебанутые...
Мало того что у них до сих пор включены вайтлисты, к тому же у них нельзя просто через API свапнуть токена на спотовом балансе. Нет, у них есть торговый, это же так модно сейчас иметь 33 типа балансов.
Но это даже не проблема, знаете в чем проблема? В том, что долбаебы просто взяли и отключи возможность через API переводить некоторые токены с торгового счета на спотовый. А дальше как хочешь, вот ETH можно переводить, а FTM нет.
Ебанутые...
😁10🤯2
Почему я начал все генерировать заранее?
Последние 2 дня я переписывал свой скрипт по LayerZero, решая основные проблемы. Теперь это будет работать так:
1. Исходя из конфига будет полностью генерироваться путь, от и до, включая весь конфиг.
2. При первом запуске скрипт будет генерировать пути заранее в папку paths и записывать пути в
В чем преимущество такого способа?
- в разы легче дебагать, ты заранее знаешь весь путь для каждого кошелька, суммы и пр.
- возможность просчитать необходимые балансы, суммы комиссий и пр.
- возможность записывать статус для каждой строки
- проще прикрутить многопоточность, т.к. каждый поток будет работать со своим файлом
Сегодня начал тестить и это реально пиздато, теперь каждая функция возвращает True в случае успешного действия, а скрипт записывает статус как Success, при повторном запуске - софт пропустит действия со статусом Success. Это практически реализованная пауза, возможность перезапустить и продолжить с того-же места где остановился.
Последние 2 дня я переписывал свой скрипт по LayerZero, решая основные проблемы. Теперь это будет работать так:
1. Исходя из конфига будет полностью генерироваться путь, от и до, включая весь конфиг.
2. При первом запуске скрипт будет генерировать пути заранее в папку paths и записывать пути в
{wallet_address}.json
3. При повторных запусках скрипт будет спрашивать нужно ли перезаписать пути для кошельков, которые уже содержат пути. В чем преимущество такого способа?
- в разы легче дебагать, ты заранее знаешь весь путь для каждого кошелька, суммы и пр.
- возможность просчитать необходимые балансы, суммы комиссий и пр.
- возможность записывать статус для каждой строки
- проще прикрутить многопоточность, т.к. каждый поток будет работать со своим файлом
Сегодня начал тестить и это реально пиздато, теперь каждая функция возвращает True в случае успешного действия, а скрипт записывает статус как Success, при повторном запуске - софт пропустит действия со статусом Success. Это практически реализованная пауза, возможность перезапустить и продолжить с того-же места где остановился.
🔥5👍3❤1
Пару полезностей по работе с LayerZero и не только
1. API LayerZero: https://api-mainnet.layerzero-scan.com/tx/
Можно по хешу проверять статус транзакции, но сразу скажу - порой лагает очень сильно, лучше использовать сразу 2 метода: чекать баланс в конечной сети + чекать статус транзакции по API. Если что-то вернет True - можно продолжать работу.
2.
3. Если контракт не апрувнут, вы всегда можете декодировать любую транзакцию по hash.
Как этом можно сделать прикрепил в изображении
4. 1inch - идеальное решение, если вы хотите одной функцией покупать разные токены в разных блокчейнах, но стоит колдовать с настройками gas и gas_limit. Я рекомендую создать словарь бустов, который для разных блокчейнов будет на разный % бустить эти значения.
Используйте такой подход в принципе если ваша функция универсальна для работы с разными блокчейнами.
5. Polygon и Fantom уебанские сети - транзакция с маленьким газом/газ-лимитом зависнет в мемпуле и не будет обработана.
Ей присвоится хеш, но по факту она не будет никогда включена в блокчейн. Рекомендую обрабатывать для таких сетей подобный вариант рекурсией с увеличением значений газ и газ-лимита
1. API LayerZero: https://api-mainnet.layerzero-scan.com/tx/
Можно по хешу проверять статус транзакции, но сразу скажу - порой лагает очень сильно, лучше использовать сразу 2 метода: чекать баланс в конечной сети + чекать статус транзакции по API. Если что-то вернет True - можно продолжать работу.
2.
amount = token_contract.functions.balanceOf(address_wallet).call()
не лучшая идея для назначения amount
для транзакции, иногда вы будете получать insufficient balance
лучше уменьшайте сумму примерно на 0.0005% - будет все четко3. Если контракт не апрувнут, вы всегда можете декодировать любую транзакцию по hash.
Как этом можно сделать прикрепил в изображении
4. 1inch - идеальное решение, если вы хотите одной функцией покупать разные токены в разных блокчейнах, но стоит колдовать с настройками gas и gas_limit. Я рекомендую создать словарь бустов, который для разных блокчейнов будет на разный % бустить эти значения.
Используйте такой подход в принципе если ваша функция универсальна для работы с разными блокчейнами.
5. Polygon и Fantom уебанские сети - транзакция с маленьким газом/газ-лимитом зависнет в мемпуле и не будет обработана.
Ей присвоится хеш, но по факту она не будет никогда включена в блокчейн. Рекомендую обрабатывать для таких сетей подобный вариант рекурсией с увеличением значений газ и газ-лимита
❤1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
Давно меня здесь не было...
Решил по итогу обновить скрипт по автовыводу с бирж и добавить GUI, будет кайф, надеюсь на этой недели дропну.
🥰
Решил по итогу обновить скрипт по автовыводу с бирж и добавить GUI, будет кайф, надеюсь на этой недели дропну.
Ставь лайк если наконец то не нужно будет самому искать названия сетей для бирж
и использовать запятые
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥45👍9
Как задекодить любую транзакцию по data?
Недавно начал писать софт под ZkSync и возникла проблема с быстрым декодингом транзакций, т.к. процентов 80 контрактов не верифнуты. Нашел идеальный вариант - онлайн декодер. Функционал максимально простой, вставляете
Недавно начал писать софт под ZkSync и возникла проблема с быстрым декодингом транзакций, т.к. процентов 80 контрактов не верифнуты. Нашел идеальный вариант - онлайн декодер. Функционал максимально простой, вставляете
data-транзакции
и выбираете 4byte Directory API
Ссылка на декодер🔥12❤2
Слив EIP-1559 2023
Решил спустя долгое время поделиться своим универсальным решением по переходу с Legacy на EIP-1559. Если кратко, то скрипт парсит последние 5 блоков и высчитывает средние значения maxFeePerGas и maxPriorityFeePerGas.
*Для сетей BSC и Fantom, где нет EIP-1559 скрипт добавляет значение gasPrice
[ Github ]
Решил спустя долгое время поделиться своим универсальным решением по переходу с Legacy на EIP-1559. Если кратко, то скрипт парсит последние 5 блоков и высчитывает средние значения maxFeePerGas и maxPriorityFeePerGas.
*Для сетей BSC и Fantom, где нет EIP-1559 скрипт добавляет значение gasPrice
[ Github ]
🔥8
В начале недели пытался написать софт под friend.tech. Это была моя первая попытка в MEV-бота.
Идея была такая: искать transfer на пустые кошельки как потенциальных новых юзеров, смотреть есть ли такой кошелек в API, брать @twitter и смотреть через API данные твиттера.
Начал я писать на python async, но сильно не устраивала скорость. Софт находил потенциальный кошелек примерно за ~20-40 секунд (к слову за это время 60% юзеров уже успевали выкупать первые акции). Тогда я вспомнил терна и его посты про ЯП GO. Сутки поковырялся и удалось переписать софт уже с местной асинхронностью (горутины). И вот тут софт искал нужные мне кошельки с определенным кол-вом подписчиков за 1.5-2 секунды (это учитывая 2 запроса к API: friend.tech и twitter). С такой скоростью уже можно было работать.
Дальше самое сложное - успевать выкупать акции. Начинал я с +4 блока от Buy-транзакции. Удалось разогнаться до +1-2 блока, я пытался ускориться, но не получалось (что только я не перепробовал). Основная проблема была во времени поиска buy-транзакции, тут нет привычного мемпула (он есть, но не тот что нужен). Туда изредка попадают транзакции (хз почему) как раз за 4 секунды (2 блока) до включения транзакции в блок, но работать с таким мемпулом не было смысла.
Тогда я начал копать глубже и оказалось что в технологии Rollup (Optimism) мемпулом является секвенсор. Секвенсор отвечает за упорядочение транзакций, именно в него сначала попадают транзакции, а после уже собираются в блоки.
Как получить доступ и смотреть в транзакции в секвенсоре я не знаю. Текущие боты явно имеют доступ в секвенсор. Я же остановился на спаме по 2 транзакции в блок, дальше пока нет времени изучать эту тему. Но тема реально интересная для изучения.
P.S. GO кстати очень крутой, мне зашел.
Идея была такая: искать transfer на пустые кошельки как потенциальных новых юзеров, смотреть есть ли такой кошелек в API, брать @twitter и смотреть через API данные твиттера.
Начал я писать на python async, но сильно не устраивала скорость. Софт находил потенциальный кошелек примерно за ~20-40 секунд (к слову за это время 60% юзеров уже успевали выкупать первые акции). Тогда я вспомнил терна и его посты про ЯП GO. Сутки поковырялся и удалось переписать софт уже с местной асинхронностью (горутины). И вот тут софт искал нужные мне кошельки с определенным кол-вом подписчиков за 1.5-2 секунды (это учитывая 2 запроса к API: friend.tech и twitter). С такой скоростью уже можно было работать.
Дальше самое сложное - успевать выкупать акции. Начинал я с +4 блока от Buy-транзакции. Удалось разогнаться до +1-2 блока, я пытался ускориться, но не получалось (что только я не перепробовал). Основная проблема была во времени поиска buy-транзакции, тут нет привычного мемпула (он есть, но не тот что нужен). Туда изредка попадают транзакции (хз почему) как раз за 4 секунды (2 блока) до включения транзакции в блок, но работать с таким мемпулом не было смысла.
Тогда я начал копать глубже и оказалось что в технологии Rollup (Optimism) мемпулом является секвенсор. Секвенсор отвечает за упорядочение транзакций, именно в него сначала попадают транзакции, а после уже собираются в блоки.
Как получить доступ и смотреть в транзакции в секвенсоре я не знаю. Текущие боты явно имеют доступ в секвенсор. Я же остановился на спаме по 2 транзакции в блок, дальше пока нет времени изучать эту тему. Но тема реально интересная для изучения.
P.S. GO кстати очень крутой, мне зашел.
👍28❤1🐳1
Как бесплатно оценивать стоимость токенов?
Нашел нормальную API, которая позволяет получать актуальную стоимость токенов.
Ограничений у API нет. В запросе нужно отправлять ID токена (конечной точки для получения ID нет 🧠), но можно спарсить инфу и найти.
Запрос на python может выглядеть примерно так:
Нашел нормальную API, которая позволяет получать актуальную стоимость токенов.
Ограничений у API нет. В запросе нужно отправлять ID токена (конечной точки для получения ID нет 🧠), но можно спарсить инфу и найти.
Запрос на python может выглядеть примерно так:
def get_token_price(token_id):
url = f"https://api.coinlore.net/api/ticker/?id={token_id}"
response = requests.get(url)
if response.status_code == 200:
data = response.json()
if data and isinstance(data, list) and isinstance(data[0], dict):
price_usd = data[0].get("price_usd")
if price_usd is not None:
return Decimal(price_usd)
else:
logging.error(f"Ключ 'price_usd' отсутствует в данных: {data}")
return None
else:
logging.error(f"Неожиданный формат ответа: {data}")
return None
else:
logging.error(f"Статус ответа сервера: {response.status_code}")
return None
🍓10❤5👍3
Чем я занимался 2 месяца [part 1]
Спойлер: писал софт для zkSync и не только
В первую очередь хотелось сделать что-то уникальное. Поэтому к написаю софта я подошел основательно. Во-первых, я юзал аутсорс для поиска решений и в принципе реализаций каких-то частей проекта. Во-вторых, несколько недель ушло в принципе чтобы продумать все связи/логику.
Почему так долго? В первую очередь мне хотелось упростить себе работу в будущем. Поэтому я решил не просто написать софт для zkSync, а написать основу для всех софтов в будущем и уже на этой основе написать zkSync в качестве первого проекта.
В чем преимущество такого подхода? Упрощает разработку в будущем, плюс так как основа универсальна, я могу допиливать её отдельно от проектов, при этом все изменения будут применимы ко всем проектам.
Что входит в основу? Сюда входит БД, логика, выводы (web), обработки и т.п.. Да, я начал юзать БД в проектах и это одно из лучших решений в принципе. БД позволяет хранить очень много информации: данные кошельков, данные транзакций, текущие займы, любую другую информацию.
Зачем хранить всю эту информацию? В первую очередь это позволит дать софту больше инфы про каждый кошелек: хранить чтобы уже было сделано, какие NFT сминчены и т.п. Огромный плюс в возможностях вывода в web, по факту можно сделать локальный etherscan.
Спойлер: писал софт для zkSync и не только
В первую очередь хотелось сделать что-то уникальное. Поэтому к написаю софта я подошел основательно. Во-первых, я юзал аутсорс для поиска решений и в принципе реализаций каких-то частей проекта. Во-вторых, несколько недель ушло в принципе чтобы продумать все связи/логику.
Почему так долго? В первую очередь мне хотелось упростить себе работу в будущем. Поэтому я решил не просто написать софт для zkSync, а написать основу для всех софтов в будущем и уже на этой основе написать zkSync в качестве первого проекта.
В чем преимущество такого подхода? Упрощает разработку в будущем, плюс так как основа универсальна, я могу допиливать её отдельно от проектов, при этом все изменения будут применимы ко всем проектам.
Что входит в основу? Сюда входит БД, логика, выводы (web), обработки и т.п.. Да, я начал юзать БД в проектах и это одно из лучших решений в принципе. БД позволяет хранить очень много информации: данные кошельков, данные транзакций, текущие займы, любую другую информацию.
Зачем хранить всю эту информацию? В первую очередь это позволит дать софту больше инфы про каждый кошелек: хранить чтобы уже было сделано, какие NFT сминчены и т.п. Огромный плюс в возможностях вывода в web, по факту можно сделать локальный etherscan.
🔥10👍3