Крипто Devs | Gnezdo Hub – Telegram
Крипто Devs | Gnezdo Hub
431 subscribers
993 photos
61 videos
20 files
2.23K links
Агрегатор с крипто dev'ами

🦧 Основной канал: https://news.1rj.ru/str/cryptomokakke

☯️ Все каналы: https://news.1rj.ru/str/cryptomokakke/742

🗂 Все агрегаторы: https://news.1rj.ru/str/addlist/dNb2TYSUysU3Nzgy
Download Telegram
Остановка - это смерть или рождение чего-то нового? Часть 1

Дело было в конце 23-го года. Тогда я +- освоился в азах Python, переписывал какие-то скрипты и загорелся обучением по web3-скриптам в HowToCode от @cryppi и @ahillary. Стартанули в начале 24-го, закончили в марте-апреле... На тот момент я был лучшим учеником потока, поскольку постоянно задавал вопросы, вносил улучшения в текущую библиотеку и был топ-1 по активу челом, хотя заслуженно считал, что им был Vladimir (👋). В качестве награды за старания мне сделали рефанд за курс и предложили работу модератором на обучении у парней выше (за что я им благодарен!), где проработал год, помогая новым программистам познать скрипты абуза ретро на Python... Вернёмся к нашим баранам!
В середине обучения мой внутренний перфекционист негодовал, появилась амбициозная идея написать лучшую библиотеку под EVM/zkSync/Starknet/Aptos/Cosmos- активности, которая помогла бы быстро накидать общую структуру скрипта, добавить модули для работы и присыпать все это дело удобными роутами для прогона, вывод средств, прохождение капч, удобная база данных и отличное логирование в файлы и ТГ... Моя внутренняя обезьяна ликовала от предвкушения триумфа, которое я бы испытал при нажатии кнопки "Отправить" пост в телеграм!
Немного подумав над архитектурой, я начал с нуля писать эту библиотеку/фреймворк. За цель поставил - комбайн уровня @askaer, но в более структурированном виде, для активностей в LayerZero. Реализовал Stargate на ETH/stables/tokens с gas bridge, Testnet Bridge, CoreDAO Bridge, Harmony... Сделал тестовую версию для прогона на Stargate, вроде понравилось, но не совсем то было, что я хотел. Решил, что надо добавить ещё Starknet в библу. "Если я заплатил за курс, значит я прохожу все уроки досконально" - упертое убеждение, которое вначале дало мотивацию разбирать каждый почасовый урок по 5-6 часов в день (у меня не было работы, я хардово учился). Вначале это позволило мне разобраться во всех тонкостях преподаваемого материала, дабы затем быть" рыбкой в воде" и впоследствии стать тем самым модером на курсах. А теперь это дало сбой в системе: я дошёл до урока по Starknet'у, начал писать под него свой модуль, переписывал, потом реализовывал модули для работы с этим чейном. В общем, увлекся я сильно. Как будто нашёл нескончаемый источник дофамина и, не зная куда это приведёт, постоянно улучшал текущую версию библиотеки, все оптимизируя и рефакторя с материалов курса. А время не стоит, оно постоянно убегает от нас...
Наступила середина лета. LayerZero раздаёт свой дроп, я получаю немного иксов на вложенные средства, потому что... Да хер знает почёму, плохо я в общем отработал этот проект. Уже второй поток заканчивает обучение в HowToCode, @askaer дропает уже свои платные под разные активности (прости, бро, я так и не крутил HyperLane по нашей договорённости 😔), а я временами еще возился со своим проектом. Былой энтузиазм пропал, нужно было что-то новое, хотя летом, признаюсь, очень тяжело на чем-то сосредоточиться новом. Все время оптимизирую и рефакторю то, что есть. Появляются первые сомнения: "А стоило ли оно вообще того?"

Продолжение следует...

📟 Прилетело из @crypto_maked0n1an
⚡️Wallets Checker V3 | UPD v3.0.7

📌 Changelog:
• Повышена производительность: ускорен парсинг аккаунтов и обработка запросов
• Проведён рефакторинг кода: улучшена структура, читаемость и модульность
• Обновлён формат вывода результатов: стал более структурированным и удобным для обработки
• Исправлен обход Cloudflare: запросы теперь стабильно проходят защиту
• Удалён Rabby Checker: устаревшая функция удалена для упрощения кода


❤️ Donate (any EVM chain) - 0xDEADf12DE9A24b47Da0a43E1bA70B8972F5296F2
❤️ Donate (SOL) - 2Fw2wh1pN77ELg6sWnn5cZrTDCK5ibfnKymTuCXL8sPX
❤️ Donate (TRX) - TEAmkvFXJ6N6wzN4aS3HtgiM7XhnwRrtkW

📥 DL | 📢 FAQ | 💬 CHAT | 🔰ANTI-SWEEPER | 🔗 PROXY | 💵 MEXC

📟 Прилетело из @n4z4v0d
Вспомнил, как познакомился с творчеством Mac Demarco.

На 3м курсе летом я отправился во второй раз в месячный (!) тур с кентами на байдарках в Карелию. В первый раз было ок, но в этот реки вышли из берегов, карты не совпадали с реальностью, от нашей байдарки мы забыли взять фальшборт, а в Белом море был жесткий шторм. Проплыть 350км надо было вовремя, а-то поезд обратно уедет без нас.

Вместо телефона я взял с собой mp3 плеер-флешку, на которую записал альбом Another One – тогда что-то новенькое от автора Salad Days, который мне почему-то не очень заходил.

Перевернулись на порогах, потопили весло и разорвали дно? Ничего страшного, ведь чил гай споет что-то на тарабарском, но таком спокойном.
sub

📟 Прилетело из @danokhlopkov
Как безопасно обналичить USDT и избежать проблем с банками?

Предисловие:
За 4 года ведения канала я ни разу не брал денег за рекламу. Все продукты, которые я рекламирую, я использую ЛИЧНО САМ, и не получаю прямой оплаты за посты, максимум - реф. программа. За этот пост мне тоже не платили.

Думаю, большинство из вас обналичивает крипту через P2P, но у этого способа есть серьёзный минус - в 99% случаев вам прилетают грязные деньги (почитайте про процессинг), и вопрос блокировки карты - это лишь вопрос времени; выход - перейти на проверенные обменники, как я это сделал недавно, когда нужно было обналичить $10,000 в выходной - обратился к Prosto Exchange, и несмотря на нерабочий день, ребята пошли навстречу, без KYC, быстро, и уже через 10 минут после встречи я шагал домой с наличкой в кармане.

Плюсы Prosto Exchange:
• Полное отсутствие KYC и лишних вопросов
• За сервисом стоит известный в крипто-среде человек - Taferaun
• Работаем по всей России и за её пределами (Европа, Азия, США и др.)
• Прозрачный и адекватный курс, без скрытых комиссий
• Несколько способов вывода: наличные, переводы на карты, оплата инвойсов, перестановки, покупка/продажа крипты

Ссылки на проект:
• Сам сервис: @Prosto_Exchange
• Отзывы: @Prosto_Reviews
• Новости: @ProstoEx_News

А так же для моих подписчиков действует промокод
ZAVOD, по нему вы получите повышенный курс (на 10-20% выше обычного)

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

📟 Прилетело из @n4z4v0d
Недавно появилась любопытная задача: в момент запуска действия на GitHub понять, в каком момент это действие запускалось последний раз, чтобы взять всю историю коммитов с того момента. Проблема в том, что если действие запускается вручную (on: workflow_dispatch), то просто посмотреть какие-то журналы, видимо, не выйдет.

Пока взял способ с тегами. Каждый раз при запуске создаётся тег:

TAG_NAME="lokalise-sync-${{ github.ref_name }}"

git tag -a "$TAG_NAME" -m "Lokalise sync completed on branch '${{ github.ref_name }}'"

git push origin "$TAG_NAME"


Ну, там ещё некоторое количество проверок перед этим.

А затем ищем тег при следующем запуске:

git fetch origin +refs/tags/*:refs/tags/*

if git rev-parse "$TAG_NAME" >/dev/null 2>&1; then
TAG_SHA=$(git rev-list -n 1 "$TAG_NAME")
echo "Found tag '$TAG_NAME' pointing to commit: $TAG_SHA"
echo "base_sha=$TAG_SHA" >> $GITHUB_OUTPUT
fi


Опять же плюс некоторое проверки. Получаем SHA для коммита, когда был запуск. Можно сравнить с ${{ github.sha }}, чтобы узнать, не тот ли это коммит, что и сейчас (повторный запуск).

А потом можно в tj-actions/changed-files просто передать base_sha и sha для сравнения. Да, это тот самый changed-files, который взломали недавно и выплюнули секретные данные юзеров. Защита от подобных умников довольно несложная, кстати. Можно установить не версию действия, а ссылку на какой-то надёжный коммит (момент релиза проверенной версии):

      uses: tj-actions/changed-files@db731a131ccd81ed52a3d463b6d2a4b2856c7ec9


Пока это всё довольно экспериментальная история, но вроде работает ничего. Подробнее можно в этом PR поглядеть https://github.com/lokalise/lokalise-push-action/pull/11/files

📟 Прилетело из @dev_in_ruby_colors
Чекер Zora 🥳

Природа настолько очистилась, что такой мамонт как Zora решил выйти в свет и сделать TGE. В честь этого быстренько накидали чекер для ваших акков. Само TGE намечено на 23 апреля.

Скачать чекер можно тут - https://github.com/stepanbux/zora_checker

Чат | Support | Market
Pelican | HiddenCode [EN]

📟 Прилетело из @hidden_coding
Please open Telegram to view this post
VIEW IN TELEGRAM
Остановка - это смерть или рождение чего-то нового? Часть 2

Наступает осень. Нашёл на Habr'е классный цикл статей про SQLAlchemy 2.0, с нетерпением впитывал каждую статью и реализовывал у себя в проекте. Продолжал работать дальше, с верой и воодушевлением даю себе четкий срок - доделать библиотеку до конца года.
Реализовал все, что хотел: Starknet-lib, модули для прокрута Stargate, CoreDao, TestnetBridge (крутим LZ после дропа 🤣), самописный логгер, вывод с нескольких бирж, удобный выбор монет, удобная (в который раз переписанная) архитектура, понятные параметры для запуска модулей. Осталось это все собрать воедино, "сшить отдельно взятые лоскутки ткани" и показать миру над чем я так потел весь 24ый год. А потом я вступаю в Darvin Space и аху*ваю от того, насколько качественный софт там написан был на TypeScript. Все максимально понятно, доступно, открытый код, хорошая гибкость для составления маршрутов, удобная архитектура для дева для своеременного фикса ошибок, вовремя доставка новых и быстрых обнов под разные активности... В общем, начинаю подсматривать какие-то фишки оттуда, вникать самостоятельно и изучаю документацию что и к чему идёт. Добавляю себе что-то на заметку, опять пересматриваю архитектуру, пробую реализовать у себя на питонячем, но тут меня осенило: "Я опять сбился с пути, я делаю все слишком хорошо, так я никогда не закончу"
И тут я остановился. Стоп, хватит! Я делал этот софт на чистом энтузиазме, улучшая свои навыки в архитектуре софта, но не улучшая себя в стратегическом плане. Мой мозг выдавал мне энергию на то, чтобы я доделал этот софт и начал пилить что-то под продажу, но моя ошибка том, что я затянул со сроками и постоянным идеализмом "А давай сделаем так, а что будет, если сделать вот так, а вот тут юзер будет..." И в итоге я просто забросил этот проект. "Перегорел"/"сдался"/"работал в стол - не окупилось" - можно давать разные суждения этому явлению, но факт остаётся фактом: работа остановлена в январе сего года до лучших времен. Я понял, что с этого момента мне нужно переосмыслить свой путь и зайти с другого угла в разработку таких вещей. Сложно было сделать эту остановку, но здравый смысл одержал победу в этот раз.

Какие выводы я сделал для себя?
0) Разработай MVP проекта.
Пропиши основные пункты что именно будет делать твой софт. Какую боль будет закрывать твой софт, какая логика софта, нужные данные для запуска, constraints for use, кто будет использовать, насколько быстро нужно сделать и так далее. Эта карта данных поможет тебе постоянно держать в голове основную суть зачем ты вообще это делаешь (в моем примере это было "просто потому что интересно" и "было бы прикольно с помощью такой библиотеки делать основной набросок для других софтов". Как видишь, разработка затянулась на почти год работы - ☠️).
1) Сначала скелет, а потом мясо.
Подумай общую структуру, опиши проект в целом, берись за реализацию и не выходи за рамки поставленого. Обучение в стиле "А что, если сделать вот так?.." - штука хорошая, но нужно давать себе отчёт в том, действительно ли оно тебе нужно сейчас или это временная вспышка желания "Было бы прикольно, если бы это было..."? Если это второе - смело отметай до лучших времен/когда сделаешь основную часть и будет свободное время. (кстати, я так два дня на логгер из logging потратил, потому что не разобрался с loguru. Не надо так делать!)
2) Нужно делать все в пределах сроков. Поставил четкую цель, что сделаешь что-то до дня X, умножил этот срок на 1.5-2 на непредвиденные обстоятельства и погнал выполнять задачу.
3) Умей вовремя остановиться. Если ты понял, что поставил слишком амбициозную задачу, не зазорным будет перегрупироваться и подойти к ней со временем с нового ракурса. В моем случае это дать передышку и посмотреть с высоты полёта что вообще происходило. А происходили не совсем рациональные вещи, хотя мне это было по кайфу. Как говорится:
Самураю важна не цель, а путь


📟 Прилетело из @crypto_maked0n1an
Как ты уже понял, либа заброшена до лучших времен. Кто знает, может когда-то я снова подойду и буду делать дальше, с еще лучшим заходом сделаю все, а может это останется как хорошее. README не оформлял, но в самой библиотеке старался давать максимально подробные описания к каким-то отдельным частям. Буду рад, если сможешь зайти и посмотреть какие-то класные приемы для себя

Ссылка на web3-lib-2

Что дальше?
Есть такое выражение:
Чтобы сбылись планы - о них не говорят

Кто знает, правда это или нет, но точно знаю, что дальше что-то должно быть)

Te vedere!

📟 Прилетело из @crypto_maked0n1an
◽️ HYPER Claimer

https://claim.hyperlane.foundation

Залил клеймер для вашего любимого Hyperlane

Запуск по гайду из поста выше, свап и бридж в ближайшее время добавлю

Торги на банане в 16:00

📟 Прилетело из @askaer
Please open Telegram to view this post
VIEW IN TELEGRAM
$ZORA AntiDrain
Zora анонсировали дроп токенов $ZORA.
Они автоматически отправят токены на eligible кошельки.

Если ваш кошелек был украден и на нем стоит Авто-Вывод, то я готов попробовать заклеймить ваш дроп.
Принцип работы: я попытаюсь первым снять токены с вашего кошелька.

Что требуется от вас:
• Предоставить список сдрейненных Private Keys в форму

Правила (обяз. к прочтению):
• Не отправляйте кошельки, которые не подходят под критерии дропа, я их просто пропущу

Условия работы:
• В случае УСПЕШНОГО клейма дропа я заберу себе 30% от ваших токенов
• Отправка ваших токенов на ваши кошельки займет Время! Это будет проходить НЕ МОМЕНТАЛЬНО

Обратите внимание:
• Я не даю никаких гарантий на успешность клейма этого дропа
• Я не запрещаю отдавать ваши приватные ключи на антидрейн другим людям, кто будет антидрейнить
• Кто первый отправит приватные ключи, тому в случае УСПЕХА и будут отправлены токены, никаких выяснений о том, кто же на самом деле владелец кошелька ПРОХОДИТЬ НЕ БУДЕТ

Подача заявок на АнтиДрейн - https://forms.gle/ucXtu9tx7NqTDjvu9
Подача заявок на АнтиДрейн - https://forms.gle/ucXtu9tx7NqTDjvu9
Подача заявок на АнтиДрейн - https://forms.gle/ucXtu9tx7NqTDjvu9

p.s делаю весь код в спешке, возможно проебусь где-то, тут сори, поздный анонс про формат клейма(

📟 Прилетело из @n4z4v0d
Zora чекер

Для проверки используются только адреса. Данные берутся из контракта, все кошельки в 1 запрос. Вывод результата в консоль в виде таблицы и csv. Также есть общая сумма токенов на всех кошельках.

Написано на Rust. Инструкция по настройке и запуску в ридми на гитхабе.

Ссылка на софт и инструкция к нему

📟 Прилетело из @sybil_v_zakone
Друзья, вы просили - мы сделали. Сегодня в 19:00 UTC+3 состоится новый день открытых дверей в школе GuideDAO, где сотрудники и студенты ответят на ваши вопросы, расскажут о процессе обучения, о перспективах и многом другом. 👩‍🎓

Кроме всего прочего, в ближайшие 4 дня будет действовать повышенная скидка по промо-коду WEB3DOOR в размере аж 15% 🔥

Так что залетайте! https://www.youtube.com/watch?v=y3yV0593xtI&ab_channel=GuideDAO

📟 Прилетело из @dev_in_ruby_colors
Почему токены ZORA ещё не пришли

Вот адрес, который вносит аллоки в контракт ZoraTokenCommunityClaim. У контракта в овнерах сейф, который держит 10% саплая.

Сколько это продлится неизвестно, но токены уже полчаса исправно торгуются на бирже.

Короче контора нехороших людей. Может решили свои токены слить, без давления на стакан от пользователей.

📟 Прилетело из @python_web3
Как не ждать токены ZORA

Переходим на контракт, подключаем кошелёк с дропом, вставляем свой кошелёк и подписываем транзакцию.

Клейм начнётся в 1745416800, т.е. 14.00 по utc, вот пруф.

Девы будут рассылать токены с сотни кошельков, сложно сказать сколько времени им понадобится.

📟 Прилетело из @python_web3
Media is too big
VIEW IN TELEGRAM
🌏 Много юзеров или зрителей на разных языках?

Нейро-даббинг позволяет перевести любое видео на один из 30 языков за считаные минуты, сохраняя узнаваемый голос и интонацию. Идеально для локализации образовательного и маркетингового контента на глобальные рынки.

🇺🇸🇬🇧🇦🇺🇨🇦🇯🇵🇨🇳🇩🇪🇮🇳🇫🇷🇨🇦
🇰🇷🇧🇷🇵🇹🇮🇹🇪🇸🇲🇽🇮🇩🇳🇱🇹🇷🇵🇭
🇵🇱🇸🇪🇧🇬🇷🇴🇸🇦🇦🇪🇨🇿🇬🇷🇫🇮🇭🇷
🇲🇾🇸🇰🇩🇰🇮🇳🇺🇦🇷🇺🇭🇺🇳🇴🇻🇳🏴‍☠️

➡️ Пишите @alex_notch

И перешлите пост знакомым большими охватами

📟 Прилетело из @danokhlopkov
У нас тут вышел совместный пост с основателем ScrapingBee, в этот раз обсуждаем разные решения для скрейпинга всего на свете https://www.scrapingbee.com/blog/web-scraping-tools

📟 Прилетело из @dev_in_ruby_colors
Клеймер зоры

Клеймит со всех внутренних кошей на основной
Со вторым типом (Privy) могут быть проблемы, потому что у меня был только один такой акк

В files/withdraw_addresses.txt можно добавить адреса куда выводить токены, построчно 1к1

В конфиге можно включить SWAP_ZORA_TO_ETH, чтобы продать токены в эфир

📟 Прилетело из @thelaziestcoder
🥰 СОФТИМ ПРОКСИ 2.0

часть 2

Иногда важно привязывать прокси к аккаунтам, регионам или кукам. В таких случаях .txt не всегда удобен

Вот альтернативные варианты:


🤔 Хранение прокси в JSON (гибкая структура)

[
{
"ip": "1.1.1.1",
"port": 8080,
"login": "user1",
"password": "pass123",
"type": "http",
"region": "US",
"tags": ["high-speed", "anonymous"]
},
{
"ip": "2.2.2.2",
"port": 3128,
"type": "socks5",
"country": "DE"
}
]


и загружаем в пайтон

import json

def load_proxies_json(path='proxies.json'):
with open(path, 'r') as f:
return json.load(f)

# Пример использования:
proxies = load_proxies_json()
proxy = random.choice(proxies)
print(f"Using {proxy['type']} proxy from {proxy.get('region', 'unknown')}")


🐷 Базы данных (SQLite, PostgreSQL)

CREATE TABLE proxies (
id INTEGER PRIMARY KEY,
ip TEXT NOT NULL,
port INTEGER NOT NULL,
login TEXT,
password TEXT,
type TEXT CHECK(type IN ('http', 'socks4', 'socks5')),
region TEXT,
last_used TIMESTAMP,
success_rate FLOAT
);


Python + SQLite

import sqlite3

def get_fresh_proxy(db_path='proxies.db'):
conn = sqlite3.connect(db_path)
cursor = conn.cursor()
cursor.execute('''
SELECT ip, port, login, password, type
FROM proxies
WHERE region = 'US'
ORDER BY last_used ASC
LIMIT 1
''')
proxy = cursor.fetchone()
conn.close()
return proxy


💃 Динамическое связывание с аккаунтами

Пример связки прокси с аккаунтом (JSON)

accounts = [
{
"email": "acc1@test.com",
"proxy": {"ip": "1.1.1.1", "port": 8080},
"cookies": "sessionid=abc123..."
}
]


🥹 ДОПОЛНИТЕЛЬНЫЕ ИНСТРУМЕНТЫ

Проверка работоспособности:

def check_proxy(proxy):
try:
requests.get("http://example.com", proxies=proxy, timeout=10)
return True
except:
return False


Ротация прокси:

from itertools import cycle
proxy_pool = cycle(proxies_list)
# Бесконечный цикл

next(proxy_pool) # Следующий прокси


💸 ШО КОГДА ИСПОЛЬЗУЕМ??

.txt -> Быстрые скрипты, минимальная настройка

JSON -> Гибкость, метаданные (регион, теги)

БД -> Большие объемы, статистика, привязка к аккаунтам

Env-файлы -> Одиночные прокси (например, в Docker)


📖 ENGLISH BASE

Документация Python json - работа с JSON-файлами

Документация Python sqlite3 - встроенная работа с SQLite-базами.

Документация по requests (прокси) - как использовать прокси с requests.

Официальная дока itertools.cycle - про бесконечный цикл для ротации прокси

😊 ДАЛЕЕ 3-Я ЧАСТЬ - ПРАКТИКА, ДРОПАЕМ АКТИВА И ДРОПАЮ

📟 Прилетело из @code_vartcall
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1