Web3 разработчик

Web3 разработчик

@web3dev_notes

Pet projects, AI, Ethereum, DeFi, open source, blockchain data

266подписчиков
Редко🇷🇺

Похожие каналы

Все →

Последние посты

Вдогонку к посту про MCP лайфхак по продуктивности для пользователей Mac.Если вы, так же как и я, "любите" командную строку для управления файлами.то открыть Finder на текущей папке в терминале можно командой open .Либо, чтобы привязать хоткей Ctrl-O, нужно добавить строчку bindkey -s '^o' 'open .\n' в файл (если используете zsh) ~/.zshrc и перезагрузить терминал.Топ улучшение за последний год 😁@web3dev_notes

16 янв. 2026 г.466В Telegram

MCP Уже три года, как использую LLM в работе, но до MCP руки дошли только сейчас. Протокол MCP – это то, что позволяет LLMке обращаться к внешнему миру (например, прочитать файл или вызвать API). Выглядит просто как сервис, работающий локально (или удаленно – streaming), который регистрируется в IDE (у меня Cursor), и который вызывает LLMка, когда ей задаешь вопросы или просишь что-нибудь сделать. Итак, понял, что много времени занимают действия типа:– Открыть DBeaver c базой, дернуть какую-нибудь инфу– Посмотреть на etherscan код контракта/транзакции/логи– Дернуть адреса деплойментов из гитхаба, сопоставить код из гитхаба с кодом ончейн и тд.– И, в идеале, вместо ручного надоевшего поиска "че там не так с транзой", было бы здорово попросить кого-нибудь найти ошибку 🙂 В общем, настроил 4 MCP:1. Официальный Github.2. Официальный Clickhouse для доступа к БД (что важно, с readonly доступом).3. Официальный Etherscan streaming (то есть локально ничего не ставится, просто указывается URL).4. EVM от mcpdotdirect (их несколько, выбрал этот). Сделал PR попутно, если хотите Alchemy API key указать. Пока то что тестил – работает как магия 🙂 типа "дерни цену по пулу такому то из кликхауса и глянь чего там в логах транзы по нему, все это напечатай". Посмотрим в реальной работе как себя проявит, отпишусь по результатам. Делитесь вашими лайфхаками!@web3dev_notes

13 янв. 2026 г.639В Telegram

Всем привет! Заканчивается 2025 год.Была одна тема, которая мучила меня почти полгода.В июле я обещал написать статью про свой опыт в Clickhouse – 18 огоньков показали, что людям интересно. Все это время было неудобно, что не выполнил обещание.И вот последние два дня таки добил ее – встречайте!Жду вопросов и замечаний.С наступающим! 🎄 Всем мира, добра и развития.

31 дек. 2025 г.418В Telegram

Вообще, спустя месяц использования AA на проде уже можно сделать какие-то выводы. Что понравилось:– 2D nonces – nonce не один, а в двух измерениях – есть nonceKey. Можно от одного акка отправлять несколько операций параллельно, причем из разных сервисов. В качестве второго измерения (оно 16ти битное) брал время текущей операции по модулю – коллизий не было.– Права. Идеально для трейдинг аккаунта (как мы и используем). Для этого пришлось создать кастомный плагин/контракт для проверки прав. В моем случае нужно было давать права только на одну операцию, и стандартные не подходили.– Аппрув + трансфер в одной транзакцииЧто не понравилось:– порог вхождения выше, чем EOA.– дешбоард Zerodev

26 нояб. 2025 г.535В Telegram
Web3 разработчик — пост в ТГ канале

Продолжаю ботанить Account Abstraction. Сложнее, чем разобраться с самим AA, было разобраться с биллингом zerodev. Картинка 1 – дэш по одному из проектов. Если с кол-во транз понятно, то остальное? Оказалось, Gas Spent – это сколько ты потратил с использованием зеродевовского Paymaster (то что биллится на карту), а Gas Credits Spent – что, что с использованием своего, self-funded, пеймастера. Картинка 2 – общая стата по всем проектам.Тут Gas Sponsored - это то же, что на предыдущем Gas Credits Spent за текущий месяц, а общее кол-во операций – сумма по всем проектам. А есть еще инвойс, который выставляется не по полным месяцам, а за биллинг месяц.Все это пришлось понимать натурально сидя и сличая данные, тк названия не совпадают.Где я плачУ 10% с self-funded пеймастера, тоже не понял – как будто нигде. Скорее всего, из-за странного сетапа, тк. я зеродевовский RPC использую только чтобы получить данные пеймастера, а отправляю ее как обычную транзу через другой RPC. А вы какую инфру для AA используете/можете порекомендовать?Продолжаю ботанить Account Abstraction. Сложнее, чем разобраться с самим AA, было разобраться с биллингом zerodev. Картинка 1 – дэш по одному из проектов. Если с кол-во транз понятно, то остальное? Оказалось, Gas Spent – это сколько ты потратил с использованием зеродевовского Paymaster (то что биллится на карту), а Gas Credits Spent – что, что с использованием своего, self-funded, пеймастера. Картинка 2 – общая стата по всем проектам.Тут Gas Sponsored - это то же, что на предыдущем Gas Credits Spent за текущий месяц, а общее кол-во операций – сумма по всем проектам. А есть еще инвойс, который выставляется не по полным месяцам, а за биллинг месяц.Все это пришлось понимать натурально сидя и сличая данные, тк названия не совпадают.Где я плачУ 10% с self-funded пеймастера, тоже не понял – как будто нигде. Скорее всего, из-за странного сетапа, тк. я зеродевовский RPC использую только чтобы получить данные пеймастера, а отправляю ее как обычную транзу чер

26 нояб. 2025 г.429В Telegram

Давеча копнул ERC4337 account abstraction (на этот раз с серьезной задачей для проекта). Вообще, отправка userOp – довольно тривиальная задача (туториалы и реализации есть у Zerodev, Alchemy, etc), но я хотел немного странного. А именно, отправить несколько userOp от разных smart contract wallets, но в одной onchain транзакции. И вот тут, после многодневных плясок с бубном, пришлось реализовать сборку массива userOp прямо самостоятельно, и потом отправлять на EntryPoint как обычную транзу.Времени заняло много, но в целом понравилось – неплохо разобрался как оно вообще работает. Кому интересно – сниппет.Не исключаю, что изобрел велосипед, если что - тыкните.А в целом, AA понравился хотя бы за то, что можно делать аппрув+трансфер в одной транзакции (тот самый Web3 UX LFG!).

16 сент. 2025 г.459В Telegram

Случай еще раз говорит о том, что сам по себе холодный кошелек не спасет, если не проверять на его экране адрес получателя, что рекомендую делать всегда

9 сент. 2025 г.450В Telegram

gm! JS инфраструктура в очередной раз поддается атакам на криптанов. В этот раз задели несколько старых системных JS пакетов – debug (357M установок в неделю) и chalk (299М установок в неделю) и пачку остальных, с помощью взлома Git одного из предыдуших мейнтейнеров. Можно прочитать полный репорт здесь от владельца взломанного аккаунта. Вкратце – взлом 2FA доступов к NPM через email. Как это может задеть вас? При обыкновенном подключении кошелька ничего без вашего ведома не произойдет.Скрипт внедряется в любую страницу, содержащую JS код и проверяет наличие Ethereum кошельков (с помощью проверки `window.ethereum`), затем при попытке отправки любой транзакции через кошелек просто подменяет адрес получателя. Уязвимым может оказаться буквально любой веб-сайт, который в течение последних пары часов обновлял свои зависимости и установил взломанную версию. На текущий момент с NPM уже удалили версию с багомКажется, что ближайшие пару дней лучше избегать подписи транзакций, либо быть максимально внимательным к адресу получения. Адрес злоумышленника – 0xFc4a4858bafef54D1b1d7697bfb5c52F4c166976Что сделать разработчикам?Проверьте lock файлы, ведь взломанные пакеты по большей части служебные и могут не использоваться напрямую в проекте. Учитывая то, что пакетов – много, лучше пройти grep c фильтром на строку кода: grep -r "const _0x112" node_modules/Обфусцированный скрипт оставили здесь, а тут немного больше деталей, как он работает под капотом.Issues с предупреждениями и больше технических деталей: https://github.com/chalk/chalk/issues/656https://github.com/debug-js/debug/issues/1005но tbh пока выглядит как самая грустная атака, кошелек абсолютно пустой 🥰

9 сент. 2025 г.429В Telegram

Вот и лето прошло пришло Давно не писал, а есть о чем рассказать: Работаю в команде AI вайб-трединг бота SQDGN. Команда пушка, продукт тоже. Видение – персонализированный бот-помощник, который будет помогать ритейлу инвестировать выживать в суровом мире скамов и автотрейдингов. Данные из sqd.ai, децентрализованного "озера данных". Опубликовали в опенсорс сервисы, чтобы вытаскивать данные по свопам/ценам на дексах, и трансферам / холдерам (все EVM, пока Mainnet/Base). Как Dune на минималках, только self-hosted и бесплатно. Данные пишем в Clickhouse. Освоил Clickhouse (ex-Yandex) для обработки больших данных. Первый месяц хочется выбросить ноут в окно, потом начинаешь получать удовольствие 🙂 В планах написать практическую статью для быстрого старта в Clickhouse для тех, кто работал с OLTP базами. Если интересно, ставь огонь. Всем хорошего крипто-лета!

4 июл. 2025 г.504В Telegram

Приватники текстом в .env файлах Каюсь, делал это до недавнего времени. Даже видел, как лежат в открытом виде приватники от $100K кошельков в .env. Думаю, не надо объяснять, почему это опасно – простой сканер .env файлов может вытащить немалые деньги. А скамеров хватает. Наконец, нашел час и разобрался. Оказывается, все есть в ethers. Идея – зашифровать приватник паролем и хранить его в env в зашифрованном виде. Приложение при запуске читает зашифрованный приватник и дешифрует паролем. Я пароль разместил в таблицу в БД – т.к. вероятность одновременной утечки БД и .env файла мала. Итак, сначала шифруем приватник. Пароль выбираете сами. const wallet = new ethers.Wallet("PRIVATE_KEY");const encryptedWalletString = await wallet.encrypt('PASSWORD');console.log(encryptedWalletString);  Зашифрованный приватник выглядит так (в начале адрес кошеля, что удобно - сразу понятно от какого): {"address":"32f04*****","id":"f0596bf7-**","version":3,"Crypto":{"cipher":"aes-128-ctr","cipherparams":{"iv":"***"},"ciphertext":"*****","kdf":"scrypt","kdfparams":{"salt":"***","n":131072,"dklen":32,"p":1,"r":8},"mac":"***"}} Это вставляете в .env. В БД записываете пароль. Далее в приложении расшифровываете: const encrypted = process.env.WALLET_ENCRYPTED!;const password = …. // load password from the DB const wallet = (await ethers.Wallet.fromEncryptedJson(encrypted, password)).connect(      new ethers.JsonRpcProvider(process.env.RPC_URL),    ); Просто как 1-2-3! Наслаждаемся тем, что сильно улучшили свою безопасность.А как ваши приложения хранят приватники?

17 апр. 2025 г.610В Telegram