#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 транзакций.
#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 не нужно.
#DEFI
Токен - смарт-контракт, который соблюдает стандарт ERC20. Хранит балансы своих пользователей в «словаре» ключ(адрес):значение(баланс). Имеет функционал передачи токенов другим кошелькам. Технически, токены никуда дальше контракта не уходят, просто меняется владелец некоторого числа токенов.
Но что делать, если админу нужно сжечь токен?
Баланс токена это циферки в переменной контракта, поэтому обнулить их нельзя, такой функционал не закладывают, но можно передать их на такой адрес, к которому ни у кого нет доступа.
Адреса, куда попадают «сожженные» токены:
⁃ 0x0000000000000000000000000000000000000000
⁃ 0x000000000000000000000000000000000000dEaD
Посмотреть актуальную стоимость адресов можно в сканерах блокчейна:
⁃ Сорок ноликов
⁃ Деед в конце
Токен - смарт-контракт, который соблюдает стандарт ERC20. Хранит балансы своих пользователей в «словаре» ключ(адрес):значение(баланс). Имеет функционал передачи токенов другим кошелькам. Технически, токены никуда дальше контракта не уходят, просто меняется владелец некоторого числа токенов.
Но что делать, если админу нужно сжечь токен?
Баланс токена это циферки в переменной контракта, поэтому обнулить их нельзя, такой функционал не закладывают, но можно передать их на такой адрес, к которому ни у кого нет доступа.
Адреса, куда попадают «сожженные» токены:
⁃ 0x0000000000000000000000000000000000000000
⁃ 0x000000000000000000000000000000000000dEaD
Посмотреть актуальную стоимость адресов можно в сканерах блокчейна:
⁃ Сорок ноликов
⁃ Деед в конце
#DEFI
Landing protocol - Defi проект, где есть две стороны: залоги и займы. Популярные протоколы AAVE, Compound, Vires Finance, Venus. Актуальность их курсов обмена зависит от Chainlink контрактов, которые предоставляют не предвзятые и рыночно средние актуальные цены.
Годовые в займах всегда немного выше чем в залогах.
Ликвидация это когда залог стоит меньше займа пользователя и его health factor негативный. Landing контракт позволяет выкупить инициатору транзакции ликвидации залог со скидкой в >5%. Пользователь с ликвидированной позицией теряет залог, но остается с займом, который не нужно возвращать.
Чтобы не ликвидировало, важно следить за health factor и уровнем обеспечения, если можно взять 80% от залога, то безопаснее брать 50%. Когда btc просел на 10%, 50% превратятся в 60%.
В теории, если позицию пользователя нужно ликвидировать, но инициировать такую транзакцию некому, то и ликвидация не наступит))
Сценарии использования:
⁃ Внести залог $, взять заем в 50% в btc, поторговать, погасить заем в btc+комиссия, вернуть свои $.
⁃ Внести залог $ и получать годовые
⁃ Участвовать в ликвидации чужих позиций и получать залог по скидке от рыночной цены только за то, что помогли очистить позицию с низким health factor
⁃ Когда денег много, можно займом давать нужный импульс токенам с низкой капитализацией и извлекать из этого выгоду.
⁃ Шортить, когда зарабатываем на понижении цены токена
Landing protocol - Defi проект, где есть две стороны: залоги и займы. Популярные протоколы AAVE, Compound, Vires Finance, Venus. Актуальность их курсов обмена зависит от Chainlink контрактов, которые предоставляют не предвзятые и рыночно средние актуальные цены.
Годовые в займах всегда немного выше чем в залогах.
Ликвидация это когда залог стоит меньше займа пользователя и его health factor негативный. Landing контракт позволяет выкупить инициатору транзакции ликвидации залог со скидкой в >5%. Пользователь с ликвидированной позицией теряет залог, но остается с займом, который не нужно возвращать.
Чтобы не ликвидировало, важно следить за health factor и уровнем обеспечения, если можно взять 80% от залога, то безопаснее брать 50%. Когда btc просел на 10%, 50% превратятся в 60%.
В теории, если позицию пользователя нужно ликвидировать, но инициировать такую транзакцию некому, то и ликвидация не наступит))
Сценарии использования:
⁃ Внести залог $, взять заем в 50% в btc, поторговать, погасить заем в btc+комиссия, вернуть свои $.
⁃ Внести залог $ и получать годовые
⁃ Участвовать в ликвидации чужих позиций и получать залог по скидке от рыночной цены только за то, что помогли очистить позицию с низким health factor
⁃ Когда денег много, можно займом давать нужный импульс токенам с низкой капитализацией и извлекать из этого выгоду.
⁃ Шортить, когда зарабатываем на понижении цены токена
#DEFI
Как шортить в defi через landing
1btc = 20000$
Вносим залог 1000$usdt
Заем (80% максимальный, возьмем 60% в btc) 1000$/20000$/btc*60% = 0,03 btc // получили на свой кошелек
Продали мгновенно 0,03btc->600$
1btc = -10%, 18000$
0.3btc->0.03333btc(659$)
Вернули заем в 0,03btc + мизерные проценты годовых, разлочили свой залог
Владеем 1000$, 0,0033btc(59,4$) = 1059,4$ или прибыль в 6% при падении цены на 10%
Важно, чтобы ценность залога всегда была выше 80% чтобы не произошло ликвидации
Как шортить в defi через landing
1btc = 20000$
Вносим залог 1000$usdt
Заем (80% максимальный, возьмем 60% в btc) 1000$/20000$/btc*60% = 0,03 btc // получили на свой кошелек
Продали мгновенно 0,03btc->600$
1btc = -10%, 18000$
0.3btc->0.03333btc(659$)
Вернули заем в 0,03btc + мизерные проценты годовых, разлочили свой залог
Владеем 1000$, 0,0033btc(59,4$) = 1059,4$ или прибыль в 6% при падении цены на 10%
Важно, чтобы ценность залога всегда была выше 80% чтобы не произошло ликвидации
#DEFI
Команда проекта Uniswap первой разработала и внедрила DEX на AMM с возможностью FlashSwap, именно ее в свое время форкнул проект SushiSwap. Большинство AMM DEX это форки Uniswap v2.
Существует Uniswap v3, но исходный код временно закрыт, из нововведений там введен функционал частичных обменов, например вместо 1bnb->100$, можно сделать два обмена c v2 и v3 парами: 0.5bnb->55$, 0.5bnb->49$, чтобы по итогу получить 104$.
Uniswap v2 стостоит из таких контрактов:
1. Deployer - деплоит Factory и Router
2. Factory - создает и хранит адреса задеплоеных Pair
3. Router - содержит упрощенные методы для совершения обменов любой длины, например bnb->usdc->cake->wbnb, которые задействуют factory и factory.pairs.
4. Pair - самая важная часть dex’a, потому что этот контракт владеет erc20 токенами, которые пользователи передают паре, чтобы получать комиссионные, пропорционально доле их капитала в паре. Pair содержит низкоуровневые функции swap, mint, burn. Внутри pair.swap возможно заказать flashSwap(когда сначала пара одалживает контракту токенов, но ожидает их возврата в той же транзакции).
Для рядового пользователя совершить обмен в Uniswap v2 означает открыть из stateless сайт, выбрать направление обмена и создать транзакцию, которая взаимодействует с Router контрактом, который в свою очередь с fаctory.pairs.
В протоколе не заложен функционал blacklist, который есть в usdt,usdc.
Ознакомиться с кодом factory
Посмотреть на популярность router (много pending транзакций)
Команда проекта Uniswap первой разработала и внедрила DEX на AMM с возможностью FlashSwap, именно ее в свое время форкнул проект SushiSwap. Большинство AMM DEX это форки Uniswap v2.
Существует Uniswap v3, но исходный код временно закрыт, из нововведений там введен функционал частичных обменов, например вместо 1bnb->100$, можно сделать два обмена c v2 и v3 парами: 0.5bnb->55$, 0.5bnb->49$, чтобы по итогу получить 104$.
Uniswap v2 стостоит из таких контрактов:
1. Deployer - деплоит Factory и Router
2. Factory - создает и хранит адреса задеплоеных Pair
3. Router - содержит упрощенные методы для совершения обменов любой длины, например bnb->usdc->cake->wbnb, которые задействуют factory и factory.pairs.
4. Pair - самая важная часть dex’a, потому что этот контракт владеет erc20 токенами, которые пользователи передают паре, чтобы получать комиссионные, пропорционально доле их капитала в паре. Pair содержит низкоуровневые функции swap, mint, burn. Внутри pair.swap возможно заказать flashSwap(когда сначала пара одалживает контракту токенов, но ожидает их возврата в той же транзакции).
Для рядового пользователя совершить обмен в Uniswap v2 означает открыть из stateless сайт, выбрать направление обмена и создать транзакцию, которая взаимодействует с Router контрактом, который в свою очередь с fаctory.pairs.
В протоколе не заложен функционал blacklist, который есть в usdt,usdc.
Ознакомиться с кодом factory
Посмотреть на популярность router (много pending транзакций)
#DEFI
Централизованные стейблкоины (USDC,USDT) содержат функционал черного списка адресов во всех блокчейнах, где они представлены.
Когда userA передает свои 100usdc к userB, эти 100usdc не покидают контракта USDC, просто меняется владелец 100$ в пределах контракта, поэтому контракт способен решать, кто имеет право распоряжаться своими средствами, а кого можно забанить.
Централизованным стейблкоинам важно закладывать такой функционал blacklist, чтобы дружить с регуляторами и выполнять их требования.
В теории можно забанить пользователей одной страны, пойдя по цепочке CEX->KYC->конкретная_страна_Х->кошельки, которые однозначно трактуются как «владеет гражданин страны Х» и значительно так ограничить свободы в большинстве своем невинных граждан.
Пример наличия функционала, смотреть вкладки «Code», «Read Contract», «Read as Proxy»
USDC «isBlacklisted»
USDT «isBlacklisted»
Централизованные стейблкоины (USDC,USDT) содержат функционал черного списка адресов во всех блокчейнах, где они представлены.
Когда userA передает свои 100usdc к userB, эти 100usdc не покидают контракта USDC, просто меняется владелец 100$ в пределах контракта, поэтому контракт способен решать, кто имеет право распоряжаться своими средствами, а кого можно забанить.
Централизованным стейблкоинам важно закладывать такой функционал blacklist, чтобы дружить с регуляторами и выполнять их требования.
В теории можно забанить пользователей одной страны, пойдя по цепочке CEX->KYC->конкретная_страна_Х->кошельки, которые однозначно трактуются как «владеет гражданин страны Х» и значительно так ограничить свободы в большинстве своем невинных граждан.
Пример наличия функционала, смотреть вкладки «Code», «Read Contract», «Read as Proxy»
USDC «isBlacklisted»
USDT «isBlacklisted»
#EVM #DEFI
Про апрув
Для начала ERC20 обмена нужно разрешить dex.router распоряжаться вашим конкретным erc20 токеном, потому что при транзакции обмена роутер сам передает необходимое количество токенов пользователя на адрес первой пары в пути обмена, которая по цепочке передает второй токен роутеру.
Поэтому важно проверять, кому дается approve (фишинговый страницы могут просить на свой адрес дать апрув)
На первый взгляд такая практика кажется несостоятельной, но на деле, когда контракт роутера не содержит уязвимостей и багов, можно спать спокойно))
Про апрув
Для начала ERC20 обмена нужно разрешить dex.router распоряжаться вашим конкретным erc20 токеном, потому что при транзакции обмена роутер сам передает необходимое количество токенов пользователя на адрес первой пары в пути обмена, которая по цепочке передает второй токен роутеру.
Поэтому важно проверять, кому дается approve (фишинговый страницы могут просить на свой адрес дать апрув)
На первый взгляд такая практика кажется несостоятельной, но на деле, когда контракт роутера не содержит уязвимостей и багов, можно спать спокойно))
uni-forks.xlsx
8.6 KB
#DEFI
В июне выбирал, на каком блокчейне реализовать backrunning стратегию. Критерии выбора:
⁃ Количество DEX
⁃ Наличие внятного explorer (etherscan)
⁃ Количество торговых пар
⁃ Количество стабильных токенов, где нет скрытых комиссий
⁃ Консенсус и гео-распределение валидаторов/майнеров
⁃ Позднее количество активных BR контрактов (их нет в таблице, но в BSC >300, AVAX >60)
Todo uni-forks table as attachment
В июне выбирал, на каком блокчейне реализовать backrunning стратегию. Критерии выбора:
⁃ Количество DEX
⁃ Наличие внятного explorer (etherscan)
⁃ Количество торговых пар
⁃ Количество стабильных токенов, где нет скрытых комиссий
⁃ Консенсус и гео-распределение валидаторов/майнеров
⁃ Позднее количество активных BR контрактов (их нет в таблице, но в BSC >300, AVAX >60)
Todo uni-forks table as attachment
Навигация
О чем этот канал?
#DEFI - uniswapV2, пары, боты
Пример ethers+js
Blockscan
Uni форки
AMM
Pancakeswap.allPairsLength
Про кошельки
EVM,CEX,DEX
Токен
Landing protocol
Как шортить через landing
Uniswap
USDT,USDC
ERC20.approve
Автоматизация dune
4byte.directory
Rpc.batch
Bsc gasPrice=1gwei
#EVM - нюансы работы evm-блокчейнов
EVM,CEX,DEX
TokenChecks
ERC20.approve
Контракт 2015 года с 130eth
Evm.solidity.fn.signature
Pair.skim
Profanity https://t.me/invmru/71 https://t.me/invmru/76
4byte.directory
Структура байткода
Rpc.batch
1inch.router вывод любых токенов
TOTP на bsc
#HACK - разбор взломов и скам токенов
Обман в дискорде
Что за скам токен
Harmony.one-ethereum
Как теряют деньги мамонты
Solana, 8000 кошельков
Исса. Скам
Исса. Вероятный вектор обхода
Profanity
Celsius
Eth POW
Honeypot
OlympusDao
Frontrun bot потерял 80$
Frontrun. Детали атаки 1/2
Frontrun. Детали атаки 2/2
#FR_BR - frontrun, backrun боты
Пример успешного обмена
Что такое BR
Свой Backrun бот https://t.me/invmru/51 https://t.me/invmru/53 https://t.me/invmru/77
#GETH - как устроена внутри работа главной fullnode eth/bsc
EstimateGas
Flashbots.simulate
#FULLNODE - Как запустить fullnode
Eth
Bsc
#FLASHBOTS
Eth.flashbots.simulate
Polygon.flashbots
Trading view
Про создателей tradingview
Гадание на кейной гуще
VRVP
Личные проекты
TokenChecks https://t.me/invmru/21 https://t.me/invmru/73
Signature Profanity
abi-guesser-webserver
Не всем проектам нашлось место с тегом, продублирую их здесь, но они классные:
Copilot
Blockscan
Chainlist, defilama
Deepface live
Electric capital report
MidJourney
Dune
4byte.directory
Sublime text 3
Сколько занято ГБ на накопителе кубиками
О чем этот канал?
#DEFI - uniswapV2, пары, боты
Пример ethers+js
Blockscan
Uni форки
AMM
Pancakeswap.allPairsLength
Про кошельки
EVM,CEX,DEX
Токен
Landing protocol
Как шортить через landing
Uniswap
USDT,USDC
ERC20.approve
Автоматизация dune
4byte.directory
Rpc.batch
Bsc gasPrice=1gwei
#EVM - нюансы работы evm-блокчейнов
EVM,CEX,DEX
TokenChecks
ERC20.approve
Контракт 2015 года с 130eth
Evm.solidity.fn.signature
Pair.skim
Profanity https://t.me/invmru/71 https://t.me/invmru/76
4byte.directory
Структура байткода
Rpc.batch
1inch.router вывод любых токенов
TOTP на bsc
#HACK - разбор взломов и скам токенов
Обман в дискорде
Что за скам токен
Harmony.one-ethereum
Как теряют деньги мамонты
Solana, 8000 кошельков
Исса. Скам
Исса. Вероятный вектор обхода
Profanity
Celsius
Eth POW
Honeypot
OlympusDao
Frontrun bot потерял 80$
Frontrun. Детали атаки 1/2
Frontrun. Детали атаки 2/2
#FR_BR - frontrun, backrun боты
Пример успешного обмена
Что такое BR
Свой Backrun бот https://t.me/invmru/51 https://t.me/invmru/53 https://t.me/invmru/77
#GETH - как устроена внутри работа главной fullnode eth/bsc
EstimateGas
Flashbots.simulate
#FULLNODE - Как запустить fullnode
Eth
Bsc
#FLASHBOTS
Eth.flashbots.simulate
Polygon.flashbots
Trading view
Про создателей tradingview
Гадание на кейной гуще
VRVP
Личные проекты
TokenChecks https://t.me/invmru/21 https://t.me/invmru/73
Signature Profanity
abi-guesser-webserver
Не всем проектам нашлось место с тегом, продублирую их здесь, но они классные:
Copilot
Blockscan
Chainlist, defilama
Deepface live
Electric capital report
MidJourney
Dune
4byte.directory
Sublime text 3
Сколько занято ГБ на накопителе кубиками
#DEFI
Как создать особенный адрес кошелька в EVM-сети
Существует утилита Profanity (остерегайтесь форков), которая написана в далеком 2019 году. Она ищет такой privateKey, что address совпадает с искомым паттерном. Например 10 ноликов вначале адреса, или ..dead.., ..ded.., ..bed…, на что хватит фантазии))
Подходит для любой сети, которую поддерживает metamask, или адрес состоит из 40 hex символов
Вторая фишка для ценителей, это поиск privateKey, что его первая транзакция сдеплоит контракт с нужным партерном адреса. nonce=0
На 4-12 rtx3090 возможно в течении часа подобрать несколько адресов с 10 ноликами вначале.
Пример запуска «./profanity.x64 --leading 0»
Мне удавалось найти даже 13ти ноликовый адрес смарт-контракта, который после деплоя передает права на контракт моему кошельку.
В абсолютных числах, чем больше ноликов вначале адреса, тем меньше байт на него нужно в памяти и на несколько единиц газа дешевле. Это одна из фишек токена Chi и роутера 1inch. Но для рядовых пользователей эта экономия еле ощутима, меньше цента.
Пытливые умы могут предположить, что так можно сбрутфорсить любой адрес, но это не так. Каждый следующий нолик после 13 искать гораздо дольше чем предидущий, иными словами невозможно подобрать в разумных временных рамках null адрес с 40ка ноликами.
Как создать особенный адрес кошелька в EVM-сети
Существует утилита Profanity (остерегайтесь форков), которая написана в далеком 2019 году. Она ищет такой privateKey, что address совпадает с искомым паттерном. Например 10 ноликов вначале адреса, или ..dead.., ..ded.., ..bed…, на что хватит фантазии))
Подходит для любой сети, которую поддерживает metamask, или адрес состоит из 40 hex символов
Вторая фишка для ценителей, это поиск privateKey, что его первая транзакция сдеплоит контракт с нужным партерном адреса. nonce=0
На 4-12 rtx3090 возможно в течении часа подобрать несколько адресов с 10 ноликами вначале.
Пример запуска «./profanity.x64 --leading 0»
Мне удавалось найти даже 13ти ноликовый адрес смарт-контракта, который после деплоя передает права на контракт моему кошельку.
В абсолютных числах, чем больше ноликов вначале адреса, тем меньше байт на него нужно в памяти и на несколько единиц газа дешевле. Это одна из фишек токена Chi и роутера 1inch. Но для рядовых пользователей эта экономия еле ощутима, меньше цента.
Пытливые умы могут предположить, что так можно сбрутфорсить любой адрес, но это не так. Каждый следующий нолик после 13 искать гораздо дольше чем предидущий, иными словами невозможно подобрать в разумных временных рамках null адрес с 40ка ноликами.
InVM - изнутри о Web3
С помощью https://dune.com можно взаимодействовать с eth/bsc/matic/optimism блокчейнами через sql запросы и упаковывать в инфографики, например «прирост деплоев смарт-контрактов по месяцам». Мне сильно пригодился для того, чтобы выгрузить все адреса еth…
#EVM #DEFI
11кк abi собрано, если обогащать базу сигнатур функций, то тут на 10% больше, чем в 4byte.directory
Большинство контрактов на solidity, попадаются vyper.
Чаще всего попадаются такие опкоды для идентификации сигнатур в байткоде:
// aa bb cc dd = сигнатура
// 63 = PUSH4 означает что длина сигнатуры 4 байта (минимум 1 байт, поэтому 1+3)функции
80 63 aa bb cc dd …
или
80 62 aa bb cc …. // 62 = PUSH3
80 61 aa bb ….
80 60 aa ….
Живой пример weth (байткод внизу)
06fdde03 = name()
095ea7b3 = approve(address,uint256)
11кк abi собрано, если обогащать базу сигнатур функций, то тут на 10% больше, чем в 4byte.directory
Большинство контрактов на solidity, попадаются vyper.
Чаще всего попадаются такие опкоды для идентификации сигнатур в байткоде:
// aa bb cc dd = сигнатура
// 63 = PUSH4 означает что длина сигнатуры 4 байта (минимум 1 байт, поэтому 1+3)функции
80 63 aa bb cc dd …
или
80 62 aa bb cc …. // 62 = PUSH3
80 61 aa bb ….
80 60 aa ….
Живой пример weth (байткод внизу)
06fdde03 = name()
095ea7b3 = approve(address,uint256)
#EVM #DEFI
Rpc запросы к evm провайдерам можно делать пачками, не один eth_call а сразу тысяча в одном запросе.
Пример curl
- Важно менять ‘id’
- Максимум 1000 элементов, зависит от провайдера
- Если внутри заменить eth_blockNumber на etc_call + свой контракт, то можно повысить емкость одного запроса еще в 10-100 раз
- На один eth_call ограничение в несколько млн газа
- Гуглить список rpc api так «eth eth_call»
Rpc запросы к evm провайдерам можно делать пачками, не один eth_call а сразу тысяча в одном запросе.
Пример curl
curl --request GET \
--url https://eth-mainnet.public.blastapi.io/ \
--header 'Content-Type: application/json' \
--data '[{"jsonrpc":"2.0","id":0,"method":"eth_blockNumber","params":[]},{"jsonrpc":"2.0","id":1,"method":"eth_blockNumber","params":[]},{"jsonrpc":"2.0","id":2,"method":"eth_blockNumber","params":[]}]'
- Важно менять ‘id’
- Максимум 1000 элементов, зависит от провайдера
- Если внутри заменить eth_blockNumber на etc_call + свой контракт, то можно повысить емкость одного запроса еще в 10-100 раз
- На один eth_call ограничение в несколько млн газа
- Гуглить список rpc api так «eth eth_call»
#DEFI
Как мы все знаем, в bsc минимальный gasPrice = 5gwei.
Но отдельный валидатор, если захочет, может принимать транзакции с 1gwei.
Идея в том, что пользователю нужно купить токен 1KOGE=11$.
1KOGE = 240000 gasLimit максимум.
Рост gasLimit от количества koge нелинейный, детали в офф чате.
Имея 1koge и установив их rpc link можно отправлять сколько угодно транзакций с 1gwei и до 240000gasLimit.
Пост-релиз в офф чате
Как мы все знаем, в bsc минимальный gasPrice = 5gwei.
Но отдельный валидатор, если захочет, может принимать транзакции с 1gwei.
Идея в том, что пользователю нужно купить токен 1KOGE=11$.
1KOGE = 240000 gasLimit максимум.
Рост gasLimit от количества koge нелинейный, детали в офф чате.
Имея 1koge и установив их rpc link можно отправлять сколько угодно транзакций с 1gwei и до 240000gasLimit.
Пост-релиз в офф чате