Выкатка на новую сеть
В январе выкатывались (почти получилось ) на новую L1 Соник. Очень похоже на то, как обживаешься в новом только что построенном доме. Какие были сложности:
– Свой газ токен S (не совпадает с ETH), что потребовало пересчета кое-где в приложении.
– Нужные нам DeFi проекты выкатывались неравномерно. Нужен был AAVE – полтора месяца назад был инициирован governance proposal, но еще не завершились все этапы голосования.
– Нужен был лендинг маркет Silo – выкатился быстро, но оказалось, что из рынков только S-stS, а не USDC (на текущий момент уже есть). Также, новая версия V2 и с ней небольшие, но изменения интерфейса контрактов.
– Кросс-chain решение Axelar, на которое завязан наш governance, сказали, что выпустятся через несколько месяцев.
Был чатик с представителями проектов, где можно было задать вопрос любой команде.
Итого: в целом рабочий процесс, все очень дружелюбны и хотят помочь, но лучше уточнять критичные детали заранее – без чего вы сможете жить, а без чего нет.
В январе выкатывались (
– Свой газ токен S (не совпадает с ETH), что потребовало пересчета кое-где в приложении.
– Нужные нам DeFi проекты выкатывались неравномерно. Нужен был AAVE – полтора месяца назад был инициирован governance proposal, но еще не завершились все этапы голосования.
– Нужен был лендинг маркет Silo – выкатился быстро, но оказалось, что из рынков только S-stS, а не USDC (на текущий момент уже есть). Также, новая версия V2 и с ней небольшие, но изменения интерфейса контрактов.
– Кросс-chain решение Axelar, на которое завязан наш governance, сказали, что выпустятся через несколько месяцев.
Был чатик с представителями проектов, где можно было задать вопрос любой команде.
Итого: в целом рабочий процесс, все очень дружелюбны и хотят помочь, но лучше уточнять критичные детали заранее – без чего вы сможете жить, а без чего нет.
👍3
Эирдропы
Сейчас буду говорить про эирдропы для обычных юзеров.
Не очень люблю мелкую моторику в крипте, мне лично больше по душе HODL. Но решил первый раз попробовать на Сонике. Они выкатили Sonic Points, где можно заработать поинты, от просто холда активов до разных действий с ними в приложениях.
Забриджил WETH на Соник через промежуточную конвертацию в USDC, тк WETH -> WETH требовал 1-2% комсы. Далее застейкал WETH в Silo Finance с нулевым APR, за стейк обещают Соник поинты. Получается, ходлю WETH, но в лендинг маркете и зарабатываю поинты.
Можно было пойти дальше, и взять S под залог WETH и далее застейкать (ставка по займу на сегодня 3.1%, а вознаграждение за стейкинг 5.87%), но кто его знает, не поменяются ли завтра ставки местами, а платить реальные деньги сейчас за шанс получить поинты потом – ну такое.
Если не забуду – через полгодика отпишу, пришел ли приятный бонус или нет.
А вы в эирдропах участвуете? Что-нибудь заработали?
Сейчас буду говорить про эирдропы для обычных юзеров.
Не очень люблю мелкую моторику в крипте, мне лично больше по душе HODL. Но решил первый раз попробовать на Сонике. Они выкатили Sonic Points, где можно заработать поинты, от просто холда активов до разных действий с ними в приложениях.
Забриджил WETH на Соник через промежуточную конвертацию в USDC, тк WETH -> WETH требовал 1-2% комсы. Далее застейкал WETH в Silo Finance с нулевым APR, за стейк обещают Соник поинты. Получается, ходлю WETH, но в лендинг маркете и зарабатываю поинты.
Можно было пойти дальше, и взять S под залог WETH и далее застейкать (ставка по займу на сегодня 3.1%, а вознаграждение за стейкинг 5.87%), но кто его знает, не поменяются ли завтра ставки местами, а платить реальные деньги сейчас за шанс получить поинты потом – ну такое.
Если не забуду – через полгодика отпишу, пришел ли приятный бонус или нет.
А вы в эирдропах участвуете? Что-нибудь заработали?
👍2
Кто-нибудь зарабатывает на комиссиях, предоставляя ликвидность на дексах?
Если да и есть желание помочь — стукнитесь плз в контакты @web3dev_notes_bot Делаю MVP бота для ликвидити провайдеров, хочу пару кастдев вопросов в тексте задать
Если да и есть желание помочь — стукнитесь плз в контакты @web3dev_notes_bot Делаю MVP бота для ликвидити провайдеров, хочу пару кастдев вопросов в тексте задать
👍2
Свой продукт
Сейчас будет немного необычный (и длинный 🙂) пост. И сразу дисклеймер – это исключительно субъективное мнение и не рецепт успеха.
Хочу запустить успешный продукт. Это то, чего у меня в жизни еще не было.
Был опыт двух не взлетевших стартапов – продукт сделали, упоролись, а потом никто не пользуется. Был успешный опыт студии заказной разработке, когда мы с партнерами раскачали компанию до более $1M годовой выручки, но вот опыта успешного продукта пока нет.
Наверное, я не очень хорош в придумывании идей. Даже, скорее, в том, чтобы увидеть потребность. Из опыта неуспешных стартапов я вывел для себя, что главное – иметь решение, которое закрывает некоторую проблему пользователя. Идеально, если с этой проблемой знаком сам (“делать продукт для себя”).
Два моих микропродукта получили некоторый трекшен. Первый – это расширение для Dune. Совсем микро, при примерно 60ти установках пользовались, я думаю, человек 20-30.
Второй (хронологически первый) – это чат нашей локалки на основе IRC, который я делал еще в середине 2000х (как давно это было!). Тогдашние IRC клиенты были топорные, я сделал свой, добавил поддержку смайлов, доску объявлений – им пользовалось некоторое время 100-150 человек каждый день. Руководство сети за это подогнало мне около 300 МБ интернета (да, тогда они были платные). В общем, это история для олдов 🙂
Сейчас есть четкое понимание – чтобы запустить продукт, надо запускать продукты. Билдить, шиппить, нарабатывать опыт решения болей пользователей, быстрого кодинга, продвижения. Не получится первый раз – взлетит на второй, третий, десятый и тд. Самое наивное – это сидеть на диване и мечтать, что однажды придет классная идея и куча юзеров. Это то же, что и мечтать пожать лежа 150, если до этого не притрагивался к штанге. Вот у Левелса 5% проектов только взлетели.
Поэтому решил периодически делать небольшие продукты в веб3/крипте, в режиме инди мейкинга, и первый буду релизить на следующей неделе – последние десять дней тружусь над ним фул-тайм. Не знаю, как часто будут релизы, ведь надо делать это в перерывах между зарабатыванием на жизнь.
Детали будут на следующей неделе, но если вы предоставляете ликвидность в пулы Uniswap V3 и вам интересно – напишите, дам доступ перед публичным запуском. Продвижение думаю делать через Твиттер, буду просить о репостах всех кого знаю, телеграмм чаты, возможно Reddit – если пропустят.
Вот такие дела, считайте это прогревом и пожелайте удачи 🙂
Сейчас будет немного необычный (и длинный 🙂) пост. И сразу дисклеймер – это исключительно субъективное мнение и не рецепт успеха.
Хочу запустить успешный продукт. Это то, чего у меня в жизни еще не было.
Был опыт двух не взлетевших стартапов – продукт сделали, упоролись, а потом никто не пользуется. Был успешный опыт студии заказной разработке, когда мы с партнерами раскачали компанию до более $1M годовой выручки, но вот опыта успешного продукта пока нет.
Наверное, я не очень хорош в придумывании идей. Даже, скорее, в том, чтобы увидеть потребность. Из опыта неуспешных стартапов я вывел для себя, что главное – иметь решение, которое закрывает некоторую проблему пользователя. Идеально, если с этой проблемой знаком сам (“делать продукт для себя”).
Два моих микропродукта получили некоторый трекшен. Первый – это расширение для Dune. Совсем микро, при примерно 60ти установках пользовались, я думаю, человек 20-30.
Второй (хронологически первый) – это чат нашей локалки на основе IRC, который я делал еще в середине 2000х (как давно это было!). Тогдашние IRC клиенты были топорные, я сделал свой, добавил поддержку смайлов, доску объявлений – им пользовалось некоторое время 100-150 человек каждый день. Руководство сети за это подогнало мне около 300 МБ интернета (да, тогда они были платные). В общем, это история для олдов 🙂
Сейчас есть четкое понимание – чтобы запустить продукт, надо запускать продукты. Билдить, шиппить, нарабатывать опыт решения болей пользователей, быстрого кодинга, продвижения. Не получится первый раз – взлетит на второй, третий, десятый и тд. Самое наивное – это сидеть на диване и мечтать, что однажды придет классная идея и куча юзеров. Это то же, что и мечтать пожать лежа 150, если до этого не притрагивался к штанге. Вот у Левелса 5% проектов только взлетели.
Поэтому решил периодически делать небольшие продукты в веб3/крипте, в режиме инди мейкинга, и первый буду релизить на следующей неделе – последние десять дней тружусь над ним фул-тайм. Не знаю, как часто будут релизы, ведь надо делать это в перерывах между зарабатыванием на жизнь.
Детали будут на следующей неделе, но если вы предоставляете ликвидность в пулы Uniswap V3 и вам интересно – напишите, дам доступ перед публичным запуском. Продвижение думаю делать через Твиттер, буду просить о репостах всех кого знаю, телеграмм чаты, возможно Reddit – если пропустят.
Вот такие дела, считайте это прогревом и пожелайте удачи 🙂
👍10🔥4
Media is too big
VIEW IN TELEGRAM
Релиз
Выкатил обещанный продукт – @PoolPilotBot
Это телеграмм бот, который будет (надеюсь) полезен провайдерам ликвидности. Основная функция бота сейчас – оповещать о том, что позиция вышла из диапазона / зашла в него. Насколько вижу, это инструмент скорее для ХОДЛеров, которые сильно не следят за рынком и поэтому редко проверяют свои позиции.
Посмотрим, будет ли какой-то отклик аудитории, будет ли кто-то использовать на постоянной основе. Если да, то можно расширять на другие пулы/сети/дексы.
Технические детали напишу позже.
Пост в твиттере, поддержите, пожалуйста, лайком/репостом, у кого есть возможность.
Выкатил обещанный продукт – @PoolPilotBot
Это телеграмм бот, который будет (надеюсь) полезен провайдерам ликвидности. Основная функция бота сейчас – оповещать о том, что позиция вышла из диапазона / зашла в него. Насколько вижу, это инструмент скорее для ХОДЛеров, которые сильно не следят за рынком и поэтому редко проверяют свои позиции.
Посмотрим, будет ли какой-то отклик аудитории, будет ли кто-то использовать на постоянной основе. Если да, то можно расширять на другие пулы/сети/дексы.
Технические детали напишу позже.
Пост в твиттере, поддержите, пожалуйста, лайком/репостом, у кого есть возможность.
🔥7
Под капотом PoolPilotBot
Проект делал чуть больше 2х недель. Кайфанул. Обещал написать про технологии. Коротко:
- turborepo для организации репозитория.
- railway для хостинга, деплой занял примерно 5 минут – указываешь репо и погнали. Здорово, что у railway есть пробный период – дают 5 долларов – этого хватает на месяц.
- БД - supabase, бесплатный тариф, и до ограничений еще очень далеко.
- очередь для отправки сообщений – pgmq, там же в supabase, очень просто и кайфово сделано. Если подытожить, то на хостинг/инфру я потратил почти ноль времени, никаких VPS, настроек докеров, и проч.
- телеграмм библиотека – конечно же grammy.
- JSON RPC – Alchemy.
- TypeScript, NodeJs.
- Cursor как среда разработки – купил платный план. Что-то осмысленное, конечно, не тянет, но при рефакторинге помогает "вынести вот это в константы туда и переведи на русский" как пример. Или “вот веб-страница, спарси адреса деплойментсов и переведи в константы” – справляется на ура
Если есть вопросы – чем могу помогу.
@web3dev_notes
Проект делал чуть больше 2х недель. Кайфанул. Обещал написать про технологии. Коротко:
- turborepo для организации репозитория.
- railway для хостинга, деплой занял примерно 5 минут – указываешь репо и погнали. Здорово, что у railway есть пробный период – дают 5 долларов – этого хватает на месяц.
- БД - supabase, бесплатный тариф, и до ограничений еще очень далеко.
- очередь для отправки сообщений – pgmq, там же в supabase, очень просто и кайфово сделано. Если подытожить, то на хостинг/инфру я потратил почти ноль времени, никаких VPS, настроек докеров, и проч.
- телеграмм библиотека – конечно же grammy.
- JSON RPC – Alchemy.
- TypeScript, NodeJs.
- Cursor как среда разработки – купил платный план. Что-то осмысленное, конечно, не тянет, но при рефакторинге помогает "вынести вот это в константы туда и переведи на русский" как пример. Или “вот веб-страница, спарси адреса деплойментсов и переведи в константы” – справляется на ура
Если есть вопросы – чем могу помогу.
@web3dev_notes
🔥6👍3
Добрый пиар
Новая рубрика – делюсь каналами про крипту, кого читаю.
Сегодня расскажу про канал Криптологическая экспедиция. Дима пишет про крипто разработку под Эфир, фишки Солидити и немного про оффсайт ивенты. Пишет не часто, но по делу. Рекомендую к подписке!
Новая рубрика – делюсь каналами про крипту, кого читаю.
Сегодня расскажу про канал Криптологическая экспедиция. Дима пишет про крипто разработку под Эфир, фишки Солидити и немного про оффсайт ивенты. Пишет не часто, но по делу. Рекомендую к подписке!
1👍4
SPAM
Чят, от имени бота обратной связи канала пришел спам тем, кто мне писал когда-то. На фото скрин со второго акка, также отписал подписчик.
Я пока не понимаю, как так получилось, бот был создан через @LivegramBot, запрошу их ТП.
На всякий случай, ничего не открывать, токены не покупать и тд.
Есть у кого-то мысли, как это возможно?
Чят, от имени бота обратной связи канала пришел спам тем, кто мне писал когда-то. На фото скрин со второго акка, также отписал подписчик.
Я пока не понимаю, как так получилось, бот был создан через @LivegramBot, запрошу их ТП.
На всякий случай, ничего не открывать, токены не покупать и тд.
Есть у кого-то мысли, как это возможно?
Web3 разработчик
SPAM Чят, от имени бота обратной связи канала пришел спам тем, кто мне писал когда-то. На фото скрин со второго акка, также отписал подписчик. Я пока не понимаю, как так получилось, бот был создан через @LivegramBot, запрошу их ТП. На всякий случай, ничего…
Проблема спама найдена
И это Livegram, который без спроса отправил сообщения тем, кто с ним общался.
Нашел новость на каком-то китайском сайте, это не только у нас такое.
В итогеLivegram был выброшен на помойку просто указал свой ТГ для контакта.
Желаю всем поменьше спамеров и продуктивной рабочей недели 🚀
И это Livegram, который без спроса отправил сообщения тем, кто с ним общался.
Нашел новость на каком-то китайском сайте, это не только у нас такое.
В итоге
Желаю всем поменьше спамеров и продуктивной рабочей недели 🚀
👍4
Если работаете с расчетами цен, делайте это…
Два раза в день, спина не будет болеть.
Понял, что когда пишу расчеты цен, у меня очень много времени занимает, смотря на переменную/функцию типа price/usdPrice/ethPrice, понять, какой тут base и quote токен.
Сегодня озарило – использовать везде нотацию price_base_quote (слово price в начале, далее base токен, quote токен в конце), например:
Сегодня работал и просто кайфанул, мозг разгрузился.
Надеюсь, и вам жизнь облегчит 🫶
Понял, что когда пишу расчеты цен, у меня очень много времени занимает, смотря на переменную/функцию типа price/usdPrice/ethPrice, понять, какой тут base и quote токен.
Сегодня озарило – использовать везде нотацию price_base_quote (слово price в начале, далее base токен, quote токен в конце), например:
price_eth_usd
– цена eth в usdprice_usdс_eth
– цена usdc в ethgetPriceToken0Eth
– получить цену token0 в eth.Сегодня работал и просто кайфанул, мозг разгрузился.
Надеюсь, и вам жизнь облегчит 🫶
👍6
Web3 разработчик
Если работаете с расчетами цен, делайте это… Два раза в день, спина не будет болеть. Понял, что когда пишу расчеты цен, у меня очень много времени занимает, смотря на переменную/функцию типа price/usdPrice/ethPrice, понять, какой тут base и quote токен.…
3 дня использую и кайфую.
Еще вывел удобную мнемонику
Также, не нужно думать, как вычислять цены через промежуточные, например
Не высшая математика, но позволяет делать меньше ошибок.
Еще вывел удобную мнемонику
price_x_y
= amount_y
/ amount_x
(второе делим на первое).Также, не нужно думать, как вычислять цены через промежуточные, например
price_x_y
= price_x_a
× price_a_b
× price_b_y
– соседние рядом стоящие переменные “схлапываются”, остается только то что в начале (`x`) и конце (`y`).Не высшая математика, но позволяет делать меньше ошибок.
Искусственный интеллект
Давайте расскажу, как использую ИИ в работе. Только конкретика - что делаю в Cursor:
– Написать простую утилитку с четко формализуемой логикой – "вот CSV файл с адресами токенов, залезь в блокчейн и скачай их имя и decimals".
– SQL запросы для простой аналитики по таблице – "вот таблица с юзерами и датой регистрации, напиши запрос, чтобы показать количество зареганых юзеров по месяцам".
– Код не работает/глючит/еще что-то – "дай идеи, почему …". Да, половина идей может быть полной ерундой, но какие-то очень полезны.
– Написать бойлерплейт – "вот таблица, сделай структуры данных под нее".
– Написать простой алгоритм – "отсортируй этот массив по полю А, если его нет то по Б, иначе С".
– Сохранить в константы кода адреса деплойментов - "вот веб-страница (указываю УРЛ), скачай адреса контрактов и сохрани в константы". Cursor лезет в интернет и скачивает!
– При рефакторинге мультиязычного приложения – "переведи эти строки на русский и сохрани в переменные".
– Быстро преобразовать данные со скрина – "вот тебе два скрина с данными, посчитай между ними разницу в процентах".
Что самое впечатляющее – я обленился настолько, что даю задания через скриншоты – "вот скриншот таблицы из БД, сделай структуру данных в TypeScript" – и он меня почти всегда понимает.
ИИ – однозначно классный рычаг. Не заменяя программиста, помогает делать "черновую" работу.
Давайте расскажу, как использую ИИ в работе. Только конкретика - что делаю в Cursor:
– Написать простую утилитку с четко формализуемой логикой – "вот CSV файл с адресами токенов, залезь в блокчейн и скачай их имя и decimals".
– SQL запросы для простой аналитики по таблице – "вот таблица с юзерами и датой регистрации, напиши запрос, чтобы показать количество зареганых юзеров по месяцам".
– Код не работает/глючит/еще что-то – "дай идеи, почему …". Да, половина идей может быть полной ерундой, но какие-то очень полезны.
– Написать бойлерплейт – "вот таблица, сделай структуры данных под нее".
– Написать простой алгоритм – "отсортируй этот массив по полю А, если его нет то по Б, иначе С".
– Сохранить в константы кода адреса деплойментов - "вот веб-страница (указываю УРЛ), скачай адреса контрактов и сохрани в константы". Cursor лезет в интернет и скачивает!
– При рефакторинге мультиязычного приложения – "переведи эти строки на русский и сохрани в переменные".
– Быстро преобразовать данные со скрина – "вот тебе два скрина с данными, посчитай между ними разницу в процентах".
Что самое впечатляющее – я обленился настолько, что даю задания через скриншоты – "вот скриншот таблицы из БД, сделай структуру данных в TypeScript" – и он меня почти всегда понимает.
ИИ – однозначно классный рычаг. Не заменяя программиста, помогает делать "черновую" работу.
👍11
Приватники текстом в .env файлах
Каюсь, делал это до недавнего времени. Даже видел, как лежат в открытом виде приватники от $100K кошельков в .env. Думаю, не надо объяснять, почему это опасно – простой сканер .env файлов может вытащить немалые деньги. А скамеров хватает.
Наконец, нашел час и разобрался. Оказывается, все есть в ethers. Идея – зашифровать приватник паролем и хранить его в env в зашифрованном виде. Приложение при запуске читает зашифрованный приватник и дешифрует паролем. Я пароль разместил в таблицу в БД – т.к. вероятность одновременной утечки БД и .env файла мала.
Итак, сначала шифруем приватник. Пароль выбираете сами.
Зашифрованный приватник выглядит так (в начале адрес кошеля, что удобно - сразу понятно от какого):
Это вставляете в .env. В БД записываете пароль.
Далее в приложении расшифровываете:
Просто как 1-2-3! Наслаждаемся тем, что сильно улучшили свою безопасность.
А как ваши приложения хранят приватники?
Каюсь, делал это до недавнего времени. Даже видел, как лежат в открытом виде приватники от $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! Наслаждаемся тем, что сильно улучшили свою безопасность.
А как ваши приложения хранят приватники?
👍7
Вот и лето прошло пришло
Давно не писал, а есть о чем рассказать:
Работаю в команде AI вайб-трединг бота SQDGN. Команда пушка, продукт тоже. Видение – персонализированный бот-помощник, который будет помогать ритейлуинвестировать выживать в суровом мире скамов и автотрейдингов. Данные из sqd.ai, децентрализованного "озера данных".
Опубликовали в опенсорс сервисы, чтобы вытаскивать данные по свопам/ценам на дексах, и трансферам / холдерам (все EVM, пока Mainnet/Base). Как Dune на минималках, только self-hosted и бесплатно. Данные пишем в Clickhouse.
Освоил Clickhouse (ex-Yandex) для обработки больших данных. Первый месяц хочется выбросить ноут в окно, потом начинаешь получать удовольствие 🙂 В планах написать практическую статью для быстрого старта в Clickhouse для тех, кто работал с OLTP базами. Если интересно, ставь огонь.
Всем хорошего крипто-лета!
Давно не писал, а есть о чем рассказать:
Работаю в команде AI вайб-трединг бота SQDGN. Команда пушка, продукт тоже. Видение – персонализированный бот-помощник, который будет помогать ритейлу
Опубликовали в опенсорс сервисы, чтобы вытаскивать данные по свопам/ценам на дексах, и трансферам / холдерам (все EVM, пока Mainnet/Base). Как Dune на минималках, только self-hosted и бесплатно. Данные пишем в Clickhouse.
Освоил Clickhouse (ex-Yandex) для обработки больших данных. Первый месяц хочется выбросить ноут в окно, потом начинаешь получать удовольствие 🙂 В планах написать практическую статью для быстрого старта в Clickhouse для тех, кто работал с OLTP базами. Если интересно, ставь огонь.
Всем хорошего крипто-лета!
🔥18👍1