О чем этот канал?
1 июня 2022 года исполнился год как я погрузился в solidity и разработу торгового бота, который извлекает выгоду из уравновешивания uniswap пар через backrun(BR) стратегию.
Появился опыт работы с BSC, solidity, hardhat, typescript, uniswap forks, golang, backrun, AVAX, geth fork.
В BR стратегии огромная конкуренция и недостаточно написать корректные вычисления, валидаторы заинтересованы в извлечении выгоды и конкурируют команды с разными финансовыми возможностями.
Канал создан, чтобы вдохновлять. А так же сформировать круг единомышленников и реализовать амбициозные проекты в будущем)
1 июня 2022 года исполнился год как я погрузился в solidity и разработу торгового бота, который извлекает выгоду из уравновешивания uniswap пар через backrun(BR) стратегию.
Появился опыт работы с BSC, solidity, hardhat, typescript, uniswap forks, golang, backrun, AVAX, geth fork.
В BR стратегии огромная конкуренция и недостаточно написать корректные вычисления, валидаторы заинтересованы в извлечении выгоды и конкурируют команды с разными финансовыми возможностями.
Канал создан, чтобы вдохновлять. А так же сформировать круг единомышленников и реализовать амбициозные проекты в будущем)
В статье на хабре обратили внимание на то, что GitHub copilot (AI помощник в написании кода) может рассказать о чужих приватных ключах и mnemonic, которые находятся в публичном github репозитории.
Подтверждаю, какие-то privateKey находятся после монотонной ручной работы по сбору валидных приватных ключей
Наткнулся на такой honeypot, на балансе 1800$, но:
1. Токен, которого на 1500$, не содержит успешных транзакций transfer за последнее время.
2. Чтобы передать себе токены, нужно пополнить bnb баланс. Как только баланс пополнен, его выводит бот так, что по-любому перебивает своим высоким gasPrice любые попытки передать токен на свой кошелек
Кошелек 0x627306090abaB3A6e1400e9345bC60c78a8BEf57
https://bscscan.com/address/0x627306090abaB3A6e1400e9345bC60c78a8BEf57
PrivateKey
0xc87509a1c067bbde78beb793e6fa76530b6382a4c0241e5e4a9ec0a0f44dc0d3
Подтверждаю, какие-то privateKey находятся после монотонной ручной работы по сбору валидных приватных ключей
Наткнулся на такой honeypot, на балансе 1800$, но:
1. Токен, которого на 1500$, не содержит успешных транзакций transfer за последнее время.
2. Чтобы передать себе токены, нужно пополнить bnb баланс. Как только баланс пополнен, его выводит бот так, что по-любому перебивает своим высоким gasPrice любые попытки передать токен на свой кошелек
Кошелек 0x627306090abaB3A6e1400e9345bC60c78a8BEf57
https://bscscan.com/address/0x627306090abaB3A6e1400e9345bC60c78a8BEf57
PrivateKey
0xc87509a1c067bbde78beb793e6fa76530b6382a4c0241e5e4a9ec0a0f44dc0d3
#DEFI
Подготовил пример работы с кошельком через библиотеку ethers на javascript
- Создание кошелька
- Импорт кошелька
- Получение баланса нативного токена и erc20
- Отправка от себя себе нативного токена и erc20
https://gist.github.com/0fuz/fb2cd39a81b45877ee0240a4327a7bcb
Подготовил пример работы с кошельком через библиотеку ethers на javascript
- Создание кошелька
- Импорт кошелька
- Получение баланса нативного токена и erc20
- Отправка от себя себе нативного токена и erc20
https://gist.github.com/0fuz/fb2cd39a81b45877ee0240a4327a7bcb
#DEFI
На фото ниже сети, которые поддерживаются одним blockchain explorer от команды etherscan
Введя один адрес, можно увидеть, в каких сетях он был активен
https://blockscan.com/
На фото ниже сети, которые поддерживаются одним blockchain explorer от команды etherscan
Введя один адрес, можно увидеть, в каких сетях он был активен
https://blockscan.com/
Да, это рекламный пост, в котором нет продаж внутри. Ни в закрытый чат, ни в скам токен.
На канале рассказываю о тонкостях работы Ethereum, BSC, Uniswap, Pancakeswap, Solidity, торговых on-chain ботах. Без копипасты.
Подписывайся только если стало интересно.
На канале рассказываю о тонкостях работы Ethereum, BSC, Uniswap, Pancakeswap, Solidity, торговых on-chain ботах. Без копипасты.
Подписывайся только если стало интересно.
Telegram
InVM - изнутри о Web3
Про тонкости работы Defi в EVM-блокчейнах глазами solidity разработчика.
Админ @zerofuz
Админ @zerofuz
TradingView - популярная платформа для работы с биржевыми графиками и социальная сеть для трейдеров, где любой желающий может постить свои прогнозы, когда биткоин to the moon.
Создатели наши соотечественники
https://www.forbes.ru/svoi-biznes/450989-kak-dva-druga-iz-rostova-na-donu-sozdali-socset-dla-trejderov-stoimost-u-3-mlrd
Создатели наши соотечественники
https://www.forbes.ru/svoi-biznes/450989-kak-dva-druga-iz-rostova-na-donu-sozdali-socset-dla-trejderov-stoimost-u-3-mlrd
#DEFI
Занятные цифры по uniswap форкам (Подсчитал, сколько уникальных factory адресов, кто хотя бы раз создавал пару в разных сетях, за календарный год):
Ethereum (ETH) - 169
BSC(BNB) - 1651
Avax - 96
Polygon(matic) - 481
Fantom (FTM) - 210
Arbitrum (ONE) - 27
Aurora - 43
Klaytn - 156
Optimism - 2
Hecochain - 248
Gnosis - 77
KCC - 52
- Стоит учитывать, что это не показатель абсолютной ценности. Не нужно развивать продукты исключительно в bsc, есть альтернативы.
- Большинство dex можно считать заброшенными, там нет сообщества, но есть код и есть пары, в которых могут остаться «арбитражные возможности» с устаревшим соотношением токенов.
Занятные цифры по uniswap форкам (Подсчитал, сколько уникальных factory адресов, кто хотя бы раз создавал пару в разных сетях, за календарный год):
Ethereum (ETH) - 169
BSC(BNB) - 1651
Avax - 96
Polygon(matic) - 481
Fantom (FTM) - 210
Arbitrum (ONE) - 27
Aurora - 43
Klaytn - 156
Optimism - 2
Hecochain - 248
Gnosis - 77
KCC - 52
- Стоит учитывать, что это не показатель абсолютной ценности. Не нужно развивать продукты исключительно в bsc, есть альтернативы.
- Большинство dex можно считать заброшенными, там нет сообщества, но есть код и есть пары, в которых могут остаться «арбитражные возможности» с устаревшим соотношением токенов.
#DEFI
AMM (Automated market maker) - наиболее распространенный способ обмена токенов. Большая часть dex являются адаптированными форками от uniswap v2. Значит возможно взаимодействовать с огромной долей ликвидности с помощью одного кода.
Создается смарт-контракт, в котором хранится два вида токенов BNB, USDT.
Вносим bnb, контракт отправляет usdt.
Чем меньше usdt, тем больше нужно bnb.
Контракт всегда проверяет, что удержал комиссию за обмен (отправил чуть меньше usdt).
Если такой пары еще нет в factory, то будет создан смарт-контракт.
Пользователь может ошибиться и передать не рыночное соотношение токенов, например при 1bnb=300usdt, пользователь создаст пару с 1bnb=100usdt. Такое соотношение токенов не рыночное и боты «перельют ликвидность» так, что через пару блоков курс обмена станет ближе к 1bnb=300usdt.
Гипотетически, если создать пару с настолько огромным объемом, то возможно повлиять на рыночную цену в нужную сторону.
AMM (Automated market maker) - наиболее распространенный способ обмена токенов. Большая часть dex являются адаптированными форками от uniswap v2. Значит возможно взаимодействовать с огромной долей ликвидности с помощью одного кода.
Создается смарт-контракт, в котором хранится два вида токенов BNB, USDT.
Вносим bnb, контракт отправляет usdt.
Чем меньше usdt, тем больше нужно bnb.
Контракт всегда проверяет, что удержал комиссию за обмен (отправил чуть меньше usdt).
Если такой пары еще нет в factory, то будет создан смарт-контракт.
Пользователь может ошибиться и передать не рыночное соотношение токенов, например при 1bnb=300usdt, пользователь создаст пару с 1bnb=100usdt. Такое соотношение токенов не рыночное и боты «перельют ликвидность» так, что через пару блоков курс обмена станет ближе к 1bnb=300usdt.
Гипотетически, если создать пару с настолько огромным объемом, то возможно повлиять на рыночную цену в нужную сторону.
#DEFI
Defi рынок развивается. На dex pancakeswap в сети binance smart chain (bsc):
2021.сентябрь 700к пар
2022.февраль 830к пар
2022.июнь 970к пар
Большая часть этих пар конечно неликвидная или связана со скам-токенами, но сама динамика поражает.
Проверить достоверность подсчета можно так:
1. Посетить pancakeswap.factory
2. https://www.bscscan.com/address/0xca143ce32fe78f1f7019d7d551a6402fc5350c73#readContract
3. Поле allPairsLength содержит число пар
4. С большинством пар возможно совершить обмен через pancakeswap.router https://www.bscscan.com/address/0x10ED43C718714eb63d5aA57B78B54704E256024E
Отдельный вопрос, почему bscscan видит только 4195 pairCreated транзакций.
Defi рынок развивается. На dex pancakeswap в сети binance smart chain (bsc):
2021.сентябрь 700к пар
2022.февраль 830к пар
2022.июнь 970к пар
Большая часть этих пар конечно неликвидная или связана со скам-токенами, но сама динамика поражает.
Проверить достоверность подсчета можно так:
1. Посетить pancakeswap.factory
2. https://www.bscscan.com/address/0xca143ce32fe78f1f7019d7d551a6402fc5350c73#readContract
3. Поле allPairsLength содержит число пар
4. С большинством пар возможно совершить обмен через pancakeswap.router https://www.bscscan.com/address/0x10ED43C718714eb63d5aA57B78B54704E256024E
Отдельный вопрос, почему bscscan видит только 4195 pairCreated транзакций.
#HACK
Собираю uni-fork DEX в разных EVM сетях, решил затестить TRON (он как бы EVM-совместимый, но с оговорками). Чтобы читать блокчейн нужно апи ключ, который получить пока что нельзя, не дает зарегистрироваться по email-password.
Пошел в официальный дискорд сервер, спросил что за ошибка.
Мне написало два человека,
1. «Вы выиграли 13 000$»
2. «Простите за неудобства, я скину вам ссылку, вы авторизуетесь через трон кошелек и все починится, ок?»
Увидел раздел на сервере, где разработчики публикуют свои портфолио текстом, написал одному:
⁃ Скинул заряжений гитхаб профиль
⁃ Первый раз уклонился от вопроса, «как убедиться что это вы с дискорде и гитхабе»
⁃ Второй раз предложил картинку скинет, но я предложил подписаться на мой гитхаб на пару минут и он раскололся
- Сейчас готовил скриншот, а он удалил ссылку на гитхаб
Такие дела)
Собираю uni-fork DEX в разных EVM сетях, решил затестить TRON (он как бы EVM-совместимый, но с оговорками). Чтобы читать блокчейн нужно апи ключ, который получить пока что нельзя, не дает зарегистрироваться по email-password.
Пошел в официальный дискорд сервер, спросил что за ошибка.
Мне написало два человека,
1. «Вы выиграли 13 000$»
2. «Простите за неудобства, я скину вам ссылку, вы авторизуетесь через трон кошелек и все починится, ок?»
Увидел раздел на сервере, где разработчики публикуют свои портфолио текстом, написал одному:
⁃ Скинул заряжений гитхаб профиль
⁃ Первый раз уклонился от вопроса, «как убедиться что это вы с дискорде и гитхабе»
⁃ Второй раз предложил картинку скинет, но я предложил подписаться на мой гитхаб на пару минут и он раскололся
- Сейчас готовил скриншот, а он удалил ссылку на гитхаб
Такие дела)
#DEFI
Основа криптокошелька это приватный ключ (или сид фраза, которая превращается в приватный ключ автоматически), который должен знать только владелец.
Криптовалютный кошелек может быть двух типов:
⁃ Кастодиальный - когда приватный ключ хранится третьей стороной и вся надежность зависит от порядочности и уровня безопасности кастодиала.
⁃ Некастодиальный - приватный ключ знает только владелец кошелька и больше никто. Это правильный путь владения криптовалютой
Еще кошельки делятся по теплоте:
⁃ Горячие - постоянно подключены к интернету (metamask, trustwallet, и т.д.)
⁃ Холодные - подключаются к интернету на короткое время только при необходимости (ledger, trezor, safepal)
На криптобиржах большая часть средств на холодных кошельках и малая часть на горячих. В случае взлома, под угрозой горячие кошельки, а не все средства CEX криптобиржи
Аппаратные кошельки выглядят надежно, потому что они некастодиальные и холодные, но тут есть риски деанона адреса покупателя (такие взломы уже есть) и заложенные уязвимости в аппаратную часть (есть гипотеза, что iOS/android специально закладывают 0-day уязвимости для спецслужб, но их могут найти другие, например израильская (NSO group, dtf source). Если так делают с операционными, то могут и с холодными кошельками. Это не означает, что каждый пользователь под угрозой, и это не массовая история, но такое нужно иметь в виду)
Основа криптокошелька это приватный ключ (или сид фраза, которая превращается в приватный ключ автоматически), который должен знать только владелец.
Криптовалютный кошелек может быть двух типов:
⁃ Кастодиальный - когда приватный ключ хранится третьей стороной и вся надежность зависит от порядочности и уровня безопасности кастодиала.
⁃ Некастодиальный - приватный ключ знает только владелец кошелька и больше никто. Это правильный путь владения криптовалютой
Еще кошельки делятся по теплоте:
⁃ Горячие - постоянно подключены к интернету (metamask, trustwallet, и т.д.)
⁃ Холодные - подключаются к интернету на короткое время только при необходимости (ledger, trezor, safepal)
На криптобиржах большая часть средств на холодных кошельках и малая часть на горячих. В случае взлома, под угрозой горячие кошельки, а не все средства CEX криптобиржи
Аппаратные кошельки выглядят надежно, потому что они некастодиальные и холодные, но тут есть риски деанона адреса покупателя (такие взломы уже есть) и заложенные уязвимости в аппаратную часть (есть гипотеза, что iOS/android специально закладывают 0-day уязвимости для спецслужб, но их могут найти другие, например израильская (NSO group, dtf source). Если так делают с операционными, то могут и с холодными кошельками. Это не означает, что каждый пользователь под угрозой, и это не массовая история, но такое нужно иметь в виду)
#EVM #DEFI
EVM - Ethereum Virtual Machine - среда исполнения смартконтрактов, который комплируются таким путем: solidity -> opcode -> bytecode. Самое близкое по смыслу это исполнение ассемблера, только на распределенном компьютере
CEX - Centralized EXchange - централизованная площадка, с базой данных, серверами, сотрудниками, регистрацией в дружелюбных странах, платит налоги (наверное), больше похоже на легальную компанию. Нужно KYC. Имеют возможность ограничивать свободы граждан отдельных стран.
DEX - Decentralized EXchange - несколько связанных по смыслу смарт-контрактов, загруженных в блокчейн сеть (ETH). Для пользователей есть stateless сайтик на vuejs/react, который подключается к eth по rpc-url, исходный код на гитхабе. Технически нельзя остановить* или забанить пользователя*, KYC не нужно.
*=если не заложено такого функционала в смарт-контракте
EVM - Ethereum Virtual Machine - среда исполнения смартконтрактов, который комплируются таким путем: solidity -> opcode -> bytecode. Самое близкое по смыслу это исполнение ассемблера, только на распределенном компьютере
CEX - Centralized EXchange - централизованная площадка, с базой данных, серверами, сотрудниками, регистрацией в дружелюбных странах, платит налоги (наверное), больше похоже на легальную компанию. Нужно KYC. Имеют возможность ограничивать свободы граждан отдельных стран.
DEX - Decentralized EXchange - несколько связанных по смыслу смарт-контрактов, загруженных в блокчейн сеть (ETH). Для пользователей есть stateless сайтик на vuejs/react, который подключается к eth по rpc-url, исходный код на гитхабе. Технически нельзя остановить* или забанить пользователя*, KYC не нужно.
#EVM
Не так давно нужны были недели, чтобы обработать вручную тысячи токенов, читать их код на bscscan, искать скрытые комиссии, это работа обезьянки, а не разработчика))
Встретил проект TokenChecks и понял, что именно это я давно искал))
Опубликовал свое видение этого проекта. Смысл в том, что можно виртуально, бесплатно исполнять транзакцию и смотреть, исполнится ли или будет ошибка. С помощью такой фичи можно проверять, что токен, которым хотим торговать, заранее трейдабелен в обе стороны и не содержит скрытой комиссии в одном из направлений.
Это не защитит от скам-токенов, которые может выключить админ, но для большинства токенов в сети это здорово помогает.
Что изменилось:
- Легко добавлять блокчейн сети и параметры DEX’ов. Протестировал в сети ETH, BSC, работает.
- Есть вычисления сколько скрытых комиссий в токене при обмене в обе стороны.
Приглашаю затестить https://github.com/0fuz/TokenChecks
Не так давно нужны были недели, чтобы обработать вручную тысячи токенов, читать их код на bscscan, искать скрытые комиссии, это работа обезьянки, а не разработчика))
Встретил проект TokenChecks и понял, что именно это я давно искал))
Опубликовал свое видение этого проекта. Смысл в том, что можно виртуально, бесплатно исполнять транзакцию и смотреть, исполнится ли или будет ошибка. С помощью такой фичи можно проверять, что токен, которым хотим торговать, заранее трейдабелен в обе стороны и не содержит скрытой комиссии в одном из направлений.
Это не защитит от скам-токенов, которые может выключить админ, но для большинства токенов в сети это здорово помогает.
Что изменилось:
- Легко добавлять блокчейн сети и параметры DEX’ов. Протестировал в сети ETH, BSC, работает.
- Есть вычисления сколько скрытых комиссий в токене при обмене в обе стороны.
Приглашаю затестить https://github.com/0fuz/TokenChecks
#HACK
Скам-токен - смарт-контракт, основанный на интерфейсе ERC20, с которым конечный пользователь взаимодействует как с обычным токеном (BNB,USDT). Но возможны разные хитрости для обмана пользователей, разберем на примере токена SCAM:
- Контракт разрешает направления обмена BNB->SCAM но запрещает SCAM->BNB. За счет дикой эмиссии фантиков SCAM можно создать искусственный, очень привлекательный курс обмена (сверх дешевый или сверх дорогой)
- Контракт разрешает обмен своего токена в оба направления, но в один прекрасный момент админ щелкает переключателем и контракт становится тыквой, когда только админ может обменять свои токены, а «инвесторы» остаются ни с чем
- Контракт не виден конечному пользователю, но обладает привлекательными характеристиками для «перелива ликвидности», когда есть две пары BNB-SCAM в разных DEX с разным курсом обмена. Бот, работающий по стратегии сандвича покупает SCAM но продать уже не в состоянии, админ токена выводит заработок
- Зачастую в эксплорерах типа bscscan у своего кошелька видно всякие малоизвестные токены с кучей циферок, будто вот так забесплатно пользователю перевели миллионы долларов. В действительности это способ пиарить свой скам-токен, который в лучшем случае уже исполнил свое предназначение, в худшем еще принимает новичков в свои объятия. Например, отправляем SCAM всем пользоветелям блока 123123 на сумму 100$ (наш искусственный курс), пользователи это видят, но чтобы получить право тратить SCAM им нужно совершить покупку на 50$, они платят, а обменять все равно не могут.
Скам-токен - смарт-контракт, основанный на интерфейсе ERC20, с которым конечный пользователь взаимодействует как с обычным токеном (BNB,USDT). Но возможны разные хитрости для обмана пользователей, разберем на примере токена SCAM:
- Контракт разрешает направления обмена BNB->SCAM но запрещает SCAM->BNB. За счет дикой эмиссии фантиков SCAM можно создать искусственный, очень привлекательный курс обмена (сверх дешевый или сверх дорогой)
- Контракт разрешает обмен своего токена в оба направления, но в один прекрасный момент админ щелкает переключателем и контракт становится тыквой, когда только админ может обменять свои токены, а «инвесторы» остаются ни с чем
- Контракт не виден конечному пользователю, но обладает привлекательными характеристиками для «перелива ликвидности», когда есть две пары BNB-SCAM в разных DEX с разным курсом обмена. Бот, работающий по стратегии сандвича покупает SCAM но продать уже не в состоянии, админ токена выводит заработок
- Зачастую в эксплорерах типа bscscan у своего кошелька видно всякие малоизвестные токены с кучей циферок, будто вот так забесплатно пользователю перевели миллионы долларов. В действительности это способ пиарить свой скам-токен, который в лучшем случае уже исполнил свое предназначение, в худшем еще принимает новичков в свои объятия. Например, отправляем SCAM всем пользоветелям блока 123123 на сумму 100$ (наш искусственный курс), пользователи это видят, но чтобы получить право тратить SCAM им нужно совершить покупку на 50$, они платят, а обменять все равно не могут.
Есть два полезных ресурса для составления общей картины по тому, в каких сетях много денег
https://chainlist.org
Позволяет искать сеть по chainId или названию и выдает работающие ссылки для взаимодействия с сетью
https://defillama.com/chains
⁃ Обзор сетей с поддержкой смарт-контрактов (EVM, TVM, tendermint, и тд)
⁃ Обзор протоколов (dex, landing, insurance, yield farming, bridge и тд) с разных сторон
До defilama был популярен defipulse, но случилась твиттер баталия и defipulse проиграл, показав предвзятость в добавлении проектов.
https://chainlist.org
Позволяет искать сеть по chainId или названию и выдает работающие ссылки для взаимодействия с сетью
https://defillama.com/chains
⁃ Обзор сетей с поддержкой смарт-контрактов (EVM, TVM, tendermint, и тд)
⁃ Обзор протоколов (dex, landing, insurance, yield farming, bridge и тд) с разных сторон
До defilama был популярен defipulse, но случилась твиттер баталия и defipulse проиграл, показав предвзятость в добавлении проектов.