VARTCALL – Telegram
VARTCALL
2.3K subscribers
648 photos
13 videos
21 files
589 links
web3 разработка, философия, мысли, практика

по всем предложениям: @jerskrew

экосистема: @vartcode
Download Telegram
Мой Стек | Блокчейн-Разработка

Разбираем Инструменты которые я использую на повседневной основе

1. Бекенд Разработка (скрипты, API, автоматизация, тестирование)

Python - разработка скриптов (взаимодействие с API, автоматизация) - работа с блокчейном непосредственно через серверную часть проектов.

Для взаимодействия с блокчейном использую web3.py библиотеку (про нее тут)

Solidity - разработка смарт-контрактов (база по смарт-контактам)

OpenZeppelin для разработки контрактов для ERC20, ERC721 и других токенов.

Наконец для тестирования и развертывания контрактов использую HardHat.


+ Сейчас работаю с Docker, т.к с он ополезен для развертывания смарт-контрактов и сервисов в различных средах (например, для запуска локальных узлов Ethereum).

2. Фронтенд Разработка

Для интеграции блокчейна в Браузер и приложения использую JavaScript + TypeScript

О библиотеках для взаимодействия с Блокчейном на JS/TS писал тут

Для Динамического Обновления приложений использую React

Наконец для создания Быстрых Приложений разбираюсь с Next.js (React Фреймворк)

Пишите что используете вы :)
🔥104🐳3
Python | Пишем скрипты

Придумал Серию Постов где мы, скажем за месяц, научимся написанию скриптов на пайтон с самого нуля

Затронем Работу с:

🧠 Базой

Infura & Alchemy

Основа работы с транзакциями: создание, подписывание, отправка.

Взаимодействие с контрактами (чтение и запись данных)

Работа с кошельками и ключами (использование HD-кошельков)


🤑 Далее Работа с DApps / CEX биржами и приложениями

Как работают DApps и какие интерфейсы они используют

Работа с Python библиотеками для взаимодействия с DApps

Взаимодействие с контрактами DApp через Python.

Чтение и выполнение смарт-контрактов.

Знакомство с основными DEX (Uniswap, PancakeSwap, и т.д.).

Взаимодействие с ликвидностью на DEX.

Написание скриптов для выполнения обменов, свопов и арбитражных операций.


💰 Изучение API для централизованных обменов (Binance API, KuCoin, Bybit).

Разработка торговых ботов для CEX.

Использование REST API и WebSocket для получения рыночных данных и выполнения ордеров


⚔️ Закрепляем все безопасностью

Понимание безопасной работы с криптовалютами и ключами.

Разработка безопасных приложений (хранение приватных ключей).

Основы защиты от атак на блокчейне и в приложениях.


Список будет обновляться :)
Please open Telegram to view this post
VIEW IN TELEGRAM
20🔥28😍5🐳2
Провайдеры | Подключаемся к блокчейну

Подготовим Python Окружение - писал тут

База

Провайдер - мост для взаимодействия приложений с блокчейном.


Существует несколько видов провайдеров:

1. Http/Https - провайдеры (API)

наиболее распространенный способ взаимодействия с блокчейном

Infura

Alchemy

QuickNode

Chainstack

пример кода

from web3 import Web3

infura_url = "https://sepolia.infura.io/v3/INFURA_KEY"

web3 = Web3(Web3.HTTPProvider(infura_url))

if web3.is_connected():

print("connected")

print("Current bock ", web3.eth.get_block_number())

else:

print("not connected")


2. WebSocket-провайдеры

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


(будем использовать в асинхронных конструкциях далее)

3. IPC (Inter-Process Communication)

Используется для прямого взаимодействия с локальным узлом через Unix-сокеты или named pipes.

Имеет высокую производительность, но требует локального запуска узла.


w3 = Web3(Web3.IPCProvider('/путь/к/geth.ipc'))


4. Локальные узлы

Это провайдеры, работающие локально, например Hardhat, Ganache.

w3 = Web3(Web3.HTTPProvider("http://127.0.0.1:8545")) - локальная сеть для тестов


Задание на сегодня

1. Регистрация на Infura + получения своего API ключа

2. Создание своего проекта и проверка работы скрипта выше

Следующий шаг - работа с транзакциям 🗣
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍2🤩2🐳2
Транзакции | Python Оптимизация

Сегодня разбрем как отпралять транзакции с помощью скриптов на Python

Написал Материал & добавил код

teletype.in/@vartcall/python_transactions

Приятного изучения 🙏
Please open Telegram to view this post
VIEW IN TELEGRAM
50🔥7😍3🏆3
СМАРТ-КОНТРАКТЫ | Python edition

В статье кратко разберем взаимодействие со смарт-контрактами на python

teletype.in/@vartcall/smart_contracts_python

Приятного изучения 🛌
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥6🤩1🏆1
Генерация Кошельков | Python

Кратко разбираем создание новых Ethereum кошельков с помощью python скриптов

teletype.in/@vartcall/wallet_create_python

Приятного изучения ⚔️
Please open Telegram to view this post
VIEW IN TELEGRAM
3🔥1🐳1
Dapps Автоматизация | python

Кратко разбираем взаимодейтвие с Dapps на Python

https://teletype.in/@vartcall/python_dapps_interaction

Приятного изучения ☕️
Please open Telegram to view this post
VIEW IN TELEGRAM
🤩6🔥2😍1🐳1
Централизованные Биржи | Python взаимодействие

Кратко разбираем взаимодействие с централизованными биржами на python

https://teletype.in/@vartcall/cex_interaction_python

Приятного изучения 🤝
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3😍2❤‍🔥1👍1🐳1
🦍 Docker - Настройка, Применение

крипто-безопасность 2.0

Docker - инструмент для создания тестирования и развертывания приложений в изолированных контейнерах

Зачем?

1. Управление - создаём отдельный контейнеры под - Проект и Сервисы (Infura, Chainlink, IPFS)

2. Оптимизация Зависимостей

В DockerFile прописываем все необходимые команды и настройки для установки зависимостей -> docker собирает образ -> Используем этот образ в любом проекте

🧠 В результате объединяем все контейнеры через Docker Compose и усправляем всем проектом.

Упрощает развертывание и тестирование


3. Изоляция

Все контейнеры работают независимо от других контейнеров. Так проект безопасностнее и его легче масштабировать

4. Передача

Создаем Docker образ нашего проекта -> передаём весь проект через Docker Hub 🔽

Человек получивший этот образ может загрузить его, редактировать и запустить на своей машине (все зависит от разрешений в docker образе)


Как-то так, набираем активности и дропаю подробную инструкцию по настройке docker под крипто-проекты 💫
🤩7❤‍🔥4🔥4👍2
🪙 АУДИТ СМАРТ-КОНТРАКТОВ | Python

$TRUMP токену посвящается

16 часов назад Дональд Трамп запустил свой мем-токен $TRUMP на solana, который уже успел отлично себя показать - (9кк объема за 24 часа+ 27 место в CoinMarketCap) + торги в $30


пост трампа с сайтом контракта был опубликован в X, поэтому я хочу разобрать как быстро проверить смарт-контракт токена (мини-аудит)

Наша Тактика

1. Подключаем solana-py библиотеку

2. Подключаемся с RPC SOLANA

3. Получаем инфу по контракту

4. Декодируем и Анализируем байткод контракта


Вариант База:

Используем API Solana чекеров и Анализируем токен

Хочу написать такой скрипт, разберемся как работают такие чекеры изнутри. Ваша активность - мой софт 💫
Please open Telegram to view this post
VIEW IN TELEGRAM
🎉22🤩10😍7🏆1
Безопасный Софт | Python, JavaScript

топ "правил" разработки качественного софта

1. Хранение приватных ключей

не храним приватники просто в коде, есть решения

Python os - библиотека для работы с операционной системой и доступ к переменным окружения

JavaScipt dotenv - также работа с переменными окружения только под JS/TS

2. Архитектура

Разделяем проект на независимые модули, каждый модуль отвечает за одну задачу + минимизация зависимостей между модулями.

Инструменты

SonarQube - анализ кода на ошибки, технический долг и архитектурные проблемы.

Structure101 - визуализация архитектуры кода и выявление лишних зависимостей.

3. Тестирование

Юнит-тесты: Проверка отдельных функций.

Интеграционные тесты: Проверка работы модулей вместе.

End-to-End тесты: Проверка всей системы в реальных условиях.

Проверка % протестированного кода - Istanbul для JavaScript и Coverage py для Python

справка

Места для хранения приватников

- HashiCorp Vault
- AWS Secrets Manager
- Google Secret Manager
- Azure Key Vault

Вот и первая часть, делаем следующую 🔥 ❤️ 💫
10🔥2🤩1
💫 Аудит Контрактов | Старт

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

Цель - смарт-контракт выполняет свои задачи корректно и безопасно, защищая средства и данные пользователей.

Виды Аудита 🔽

Предварительный (Pre-Deployment Audit) - перед развертыванием смарт-контракта в основной сети.

Консультационный (Consultative Audit) - на этапах проектирования и разработки, для избежания типичных ошибок и уязвимостей например анализ архитектуры и проектной документации

Постразвертывательный (Post-Deployment Audit) - после развертывания контракта в основной сети чтобы убедиться что контракт работает корректно и безопасно в реальной сети.

Непрерывный (Continuous Audit) - на протяжении всего жизненного цикла проекта для проверки безопасности и аномальной активности

Аудит обновлений (Upgrade Audit) - перед или после обновления смарт-контракта (обновления безопасны и не нарушают работу контракта)

Аудит для сертификации (Compliance Audit) - когда проект должен соответствовать стандартам или регулятивным требованиям 🔽

(проверка соответствия стандартам ERC-20, ERC-721, ERC-1155, подготовка отчета для публикации (для инвесторов, пользователей), предоставление гарантий безопасности третьим сторонам)

Экстренный аудит (Emergency Audit) после обнаружения уязвимости или инцидента для быстрого устранения угроз


В нашем случае - делаем следующее

Консультационый аудит - изучаем архитектуру и логики контракта.

Аналитический аудит - выявить проблемы безопасности, функциональности и оптимизации.

Технический анализ экосистемы - взаимодействие токена с другими контрактами (например, стейкинг или пулы ликвидности)


💰 пока мы работаем с Python план следующий

- Анализ Байткода через Ethescan API

- Тестирование через web3py & brownie

- Интеграция с HardHat & Truffle

🔥 ❤️ 💫 отличный старт, продолжаем публикации по аудиту, далее затронем и JS/TS
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥52😍2
Пишем безопасный софт | Python & JavaScript

1. Приватные Ключи

Среди всех вариантов лучшим будет хранение в Doppler

2. Проверка стороннего кода

Snyk & Trivy - сканеры безопасности для проверки кода в завимостях

3. Защита API

OAth 2.0 & JWT для контроля доступа к API

Тулзы

Cloudflare - защита от ddos для API

AWS WAF - управление трафиком и защита API на AWS

Traefic - прокси сервер с поддержкой лимитов запросов

Далее разбираем тестирование, управление и логироуание 🔫
Please open Telegram to view this post
VIEW IN TELEGRAM
🤩8😍5🐳31
🐙 СОФТ БЕЗОПАСНОСТЬ

Изоляция

Благодаря Docker создаем контейнер для модуля, отвечающего за подписания транзакций, и он будет изолирован от других частей приложения.

(в docker приложение работает изолированно, ограничивая влияние уязвимостей на другие части системы.)


Асинхронность 🔽

выполняют задачи, не блокируя выполнение других процессов

важно при работе с внешними API, которые могут отвечать медленно из-за задержек сети или нагрузки на сервер.

Для Node.js асинхронность реализуется через “Promise” (возвращает результат (или ошибку) в будущем)

+ async/await синтаксис для работы с Promise делает код более читаемым.


Библиотека asyncio в Python предоставляет async/await функции также для работы с асинхронностью

Такие функции позволяют продолжать выполнение других задач, пока приложение ожидает ответа от API.


Логирование

запись важной информации о работе приложения (действия пользователя, состояние системы и ошибки)

Winston (Node.js) поддеритвает различные уровни логов (info, error, debug и т.д.).


npm install winston

Logging (Python) - поддерживает уровни логирования (DEBUG, INFO, WARNING, ERROR, CRITICAL).

Стандартная библиотека Python


Для более красивого вывода логов в консоль -> Loguru библиотека

pip install loguru

Набираем активность - я выпускаю подробный материал на эту тему 😎
Please open Telegram to view this post
VIEW IN TELEGRAM
🏆14🔥53😍2🐳1
🖥 Мониторинг Транзакций | Python

WebSocket - Протокол связи, обеспечивающий постоянное двусторонней соединение

например между клиентом и сервером

главная фишка обмен данными в реальном времени без необходимости повторных запросов


Обработка Транзакций

-> Получаем данные транзакций с RPC блокчейна

-> Отправляем в Telegram по Api

Инструменты

Блокчейн - Python + Web3py

Взаимодействие с Telegram - Telegram Bot Api

Получаем автоматизацию отслеживания транзакций, далее можно это расширять до NFT транзакций, отслеживания Defi процессов и т.д


😠 хочу написать такой софт, набираем максимум активности -> дропаю быстрее
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥15😍5👍31🎉1🐳1🏆1
☕️ Telegram Checker | Python

настройка проекта

1. Зависимости

Библиотеки web3 & pytelegrambotapi

WebSocket провадер для получения событий Alchemy / Infura.

Создаем Telegram бот и получаем его API токен - BotFather


2. Процесс работы софта

- Подключение к блокчейну через WebSocket

- Фильтр событий, связанных с нужным адресом

- Настройка отправки сообщений через API Telegram + встраивание уведомлений в обработку событий

- Деплой бота через DigitalOcean или AWS

При добавлении поддержки других блокчейнов, используем сооответвующие настройки WebSocket

3. Настройка Docker (что это)

деплоить будем через него, так единый docker образ проекта

- Создаем DockerFile - базовый образ с зависимостями

- Создать .dockerignore - Исключаем из сборки ненужные файлы

- Сетевые настройки - порты для доступа к WebSoket открыты и доступны

- Управление секретами - писал тут

- Собираем Образ через Docker build и запускаем через docker run


+ Настроить автоматический перезапуск контейнера в случае падения бота

Вот такой план, далее пошагово будем тут реализовывать 💫 ❤️ 🔥
Please open Telegram to view this post
VIEW IN TELEGRAM
4😍4🔥3🐳1
🙌 ADS Взлом - Анализ

Ситуация - замена расширений кошельков пользователей на вредоносные через supply chain attack

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

Уязвимые расширения были активны в период с 10:00 AM (UTC+0) 21 января по 10:00 AM (UTC+0) 24 января 2025 года.


(если устанавливали или пользовались кошельком в это время - переустанавливаем его и выводим средства)

Таким образом, из-за недостатками контроля безопасности при распространении обновлений расширений была компрометация через supply chain attack, где злоумышленники получили доступ к обновлениям или загрузке расширений.

суммарно $3.2 в ethereum утеряно 💰

> Кошелек 1
> Кошелек 2
> Кошелек 3
> Кошелек 4

Решением таких ситуаций будет диверсификация активов и использование multisig кошельков -> Safe Wallet & TotalSig
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6❤‍🔥21👏1😍1🐳1
🖥 Telegram Checker Release

Функционал

> Подключаемся к Ethereum через WebSocket Infura.

> Мониторим новые блоки и фильтрует транзакции по заданному адресу.

> Обрабатываем события, отправляя уведомления при обнаружении транзакций.

> Добавлена задержка между проверками для предотвращения превышения лимитов API.

> Настроен Telegram-бот для отправки уведомлений.

> Логируем успешные и ошибочные попытки отправки сообщений.

активничаем и дропаю быстрее


👮‍♂️ Проект упакован в Docker + на днях выложу на GitHub с полной инструцией
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥14🤩7🎉5😍1🍓1