Semolina Code (Python / TypeScript)
7.46K subscribers
9 photos
4 files
97 links
По вопросам: @ahillary
Download Telegram
Слив обучения
(а точнее одного урока)

Starknet (урок 17)

Ссылка на видео
Ссылка на код с урока

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

Благодаря данному видео можно было легко написать свой софт под активности в starknet и если добавить немного удачи, то даже получить дроп

Но если этого не произошло, можно было залить код из видео на гитхаб и получить за это 10000 STRK (если сразу сливать по 2$, получось бы 20к USDT за небольшой код), что тоже очень даже приятно за обычные знания

А теперь про сам урок:
Да, старкнет уже неактуален для прокрута итд. Но я советую хотя бы поверхностно посмотреть урок, чтобы понять как работать со сторонним SDK, как туда встраивать прокси, посмотреть как вообще выглядят не EVM блокчейны со стороны ну и конечно быстро написать небольшую собственную библиотеку для удобной работы

спойлер: самый кайфовый блокчейн, с которым я работал
В уроке разберемся что такое eip-4337 и что такое старкнет
Научимся доставать данные из блокчейна, отправлять READ, WRITE транзакции, увидим лучший експлорер в web3, внедрим прокси в работающую библиотеку

Дополнительные материалы:
видео incrypted
документация loguru
что такое eip-4337
документация eip-4338 от Виталика
установка starknet-py + документация
старкнет експлорер

Таймкоды:
00:00 - что будем делать
00:25 - логирование с помощью loguru
12:04 - что такое starknet и eip-4337
22:04 - установка starknet SDK
23:50 - установка зависимостей из requirements.txt
26:34 - читаем документацию
29:29 - начинаем писать код: создание StarknetClient
32:04 - конструктор StarknetClient и почему для работы с аккаунтом нужно знать приватный ключ и адрес
35:40 - почему адреса это int, а не str?
38:41 - создание клиента, получени блока
40:30 - что такое rpc и какую версию rpc использовать?
44:46 - получение адреса кошелька в нормальном виде
45:23 - получение баланса и получение decimals (1/2)
47:02 - создание контракта
48:13 - получение баланса и получение decimals (2/2) + парсинг результата
54:51 - несколько способов создания контрактов + автоматическая загрузка ABI
01:04:47 - обращение к read функциям контракта
01:08:25 - создание ProxyClient (боевой клиент с внедрением прокси)
01:09:10 - ProxyClient: конструктор и метод value_to_hex()
01:14:50 - обзор експлорера starknet
01:17:45 - передача сессии с прокси в FullNodeClient
01:25:55 - асинхронный менеджер контекста или "что делать, если в конструкторе нужны асинхронные запросы?"
01:36:38 - обзор нового клиента (ProxyClient)
01:38:20 - примеры использования клиента (ProxyClient)
01:41:53 - обзор базовго класса Base
01:43:23 - разбор транзакции в експлорере
01:47:40 - отправка транзакций в Starknet на примере MySwap (eth -> token)
01:58:55 - отправка транзакции в Starknet на примере MySwap (token -> eth)
02:01:01 -итоги

Практика:
1) написать функции для свапа eth в USDC/DAI/USDT/WBTC и обратно через jediswap
2) написать функции для свапа eth в USDC/DAI/USDT/WBTC и обратно через swap10k
3) написать функции на добавление и удаление ликвидности через myswap для пар USDT/ETH, USDC/ETH, DAI/ETH

Накидайте на пост реакций и я выложу разбор дз, в котором подробно показываю как работать с пуллами ликвидности ❤️

SemolinaCode | Chat | YouTube | Arbuzers | HowToCode | Prop
Starknet практика и работа с пулами ликвидности (урок 17)

Ссылка на видео
Ссылка на код с урока

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

Также мы добавляем разбор практики, чтобы было ещё больше понимания
Кроме практики в видео разбирается очень важная теория по работе с пулами ликвидности (принципы работы применимы для любого блокчейна)

В уроке разберемся разберём практику по starknet:
1) написать функции для свапа eth в USDC/DAI/USDT/WBTC и обратно через jediswap
2) написать функции для свапа eth в USDC/DAI/USDT/WBTC и обратно через swap10k
3) написать функции на добавление и удаление ликвидности через myswap для пар USDT/ETH, USDC/ETH, DAI/ETH

Мы сделаем свап на JediSwap и 1kSwap, поработаем с пулами ликвидности (добавление ликвидности, удаление ликвидности) на MySwap. Разберём что такое AMM и научимся работать с LP парами

Дополнительные материалы:
Что такое AMM

Таймкоды:
00:00 - что будем делать
01:15 - разбор свапа на JediSwap (1/2)
02:33 - длину массива указывать необязательно!!
03:14 - разбор свапа на JediSwap (2/2)
04:08 - реализация свапа на JediSwap в коде (1/2)
09:30 - звёздочки для распаковки в аргументы функции
12:10 - реализация свапа на JediSwap в коде (2/2)
18:46- реализация свапа на 1kSwap в коде
22:46 - разбор транзакции на добавление ликвидности через MySwap
24:20 - как работает AMM
31:20 - реализация добавления ликвидности на MySwap в коде
34:57 - разбор транзакции на удаление ликвидности через MySwap
41:45 - как развернуть LP пару
58:07 - проверка работоспособности
01:00:52 - итоги

SemolinaCode | Chat | YouTube | Arbuzers | HowToCode | Prop
Для тех, кто спрашивал "а что в приватке"

Чтобы не задалбливать всех в основном канале, решили создать новый канал

Также подробно расписали что именно сейчас есть в приватке 28 софтов под актуальные проекты за 200$ в месяц (пока что)

SemolinaCode | Chat | YouTube | Arbuzers | HowToCode | Prop
Galxe > ZkSync

Наконец-то дождались дроп за galxe от проекта Aethir, софт на который был предоставлен по подписке в @arbuzerspublic

Это наше второе попадание в дроп после создания подписки на софты (первый дроп забрали от Aevo)

Мы в самом начале писали, что в эту подписку не будем выкладывать тир-1 проекты и благодаря этому смогли защитить пользователей от дропа в ZkSync 😅

Но на сегодняшний день в подписке есть достаточно много актуальных проектов, которые могут потенциально раздать дроп среди них:
- solana phoenix + hsol на type script
- Linea on-chain прогрев + lxp-l farm
- Aptos pontem на PW с UI касанием
- Bebop
- Base
- Scroll
- много чего ещё
Подробнее можно прочитать тут и тут

Самый интересный софт Linea так как Linea – последний тир1
Кто сказаал что не могут ввести ретроспекивные lxp за автивность в сети? + Супер возможность перелить деньги с ЗК в линею и лутать LXP-L
Мб эта ставка не сыграет, но эта ставка супер дешёвая и грех – не воспользоваться
Если не хотите приобретать подписку, то софт по Linea можно получить отдельно

‼️ если наберём 300 подписчиков в группе, разыграем несколько месячных подписок на софты (по сути получите гитхаб на 30 софтов + чат с поддержкой)

SemolinaCode | Chat | YouTube | Arbuzers | HowToCode | Prop
Конкурс

Сейчас один знакомый написал, что в web3 софтах на JS/TS нельзя добавить прокси к rpc вызовам

Пробовал на либах web3.js, ethers.js, viem

Мб тут есть сильные JSеры, которые смогут показать пример как добавить http прокси в одну из библиотек (web3.js / ethers.js / viem)

‼️ Условия:
1) Необходимо использовать последние версии библиотек: web3.js / ethers.js / viem (любая на ваш выбор)
2) Использовать http прокси

💰 Приз: 100$ (тому, кто первый пришлет корректный пример работы с прокси мне в лс или в чат)

SemolinaCode | Chat | YouTube | Arbuzers | HowToCode | Prop
Semolina Code (Python / TypeScript)
Конкурс Сейчас один знакомый написал, что в web3 софтах на JS/TS нельзя добавить прокси к rpc вызовам Пробовал на либах web3.js, ethers.js, viem Мб тут есть сильные JSеры, которые смогут показать пример как добавить http прокси в одну из библиотек (web3.js…
Конкурс закрывается

Победитель @fraggdiller 🏆
https://www.oklink.com/ru/arbitrum/tx/0x6d0e1196aef639b2b2f6aa75bab962ab9fe626bfee233e15d0ce61ee129f2940

Получилось прикрутить прокси к ethers.js:

import { HttpsProxyAgent } from 'https-proxy-agent';
import { ethers } from 'ethers';

(async () => {
const proxy = '';
const rpc = '';

let fetchRequest: ethers.FetchRequest;
const agent = new HttpsProxyAgent(proxy);

fetchRequest = new ethers.FetchRequest(rpc);
// fetchRequest.setHeader('user-agent', userAgent);
fetchRequest.getUrlFunc = ethers.FetchRequest.createGetUrlFunc({ agent: agent });

let provider = new ethers.JsonRpcProvider(fetchRequest);
console.log(await provider.getBlockNumber());
})();


SemolinaCode | Chat | YouTube | Arbuzers | HowToCode | Prop
Semolina Code (Python / TypeScript)
Конкурс закрывается Победитель @fraggdiller 🏆 https://www.oklink.com/ru/arbitrum/tx/0x6d0e1196aef639b2b2f6aa75bab962ab9fe626bfee233e15d0ce61ee129f2940 Получилось прикрутить прокси к ethers.js: import { HttpsProxyAgent } from 'https-proxy-agent'; import…
А вот так прокси добавляются в web3.js
Но тут победитель уже я

Осталось только viem добить и будет опять непонятно с какой либой работать


import { HttpsProxyAgent } from 'https-proxy-agent';
import Web3HttpProvider from 'web3-providers-http';
import Web3 from 'web3';

(async () => {
const proxy = '';
const rpc = '';

const httpProxyAgent = new HttpsProxyAgent(proxy);
const options = {
providerOptions: {
agent: httpProxyAgent,
keepAlive: true,
withCredentials: false,
timeout: 20000,
headers: [
['Access-Control-Allow-Origin', '*'],
['accept', '*/*'],
] as [string, string][]
}
};

const provider = new Web3HttpProvider(rpc, options);
const web3 = new Web3(provider);
console.log(await web3.eth.getChainId());
})();


SemolinaCode | Chat | YouTube | Arbuzers | HowToCode | Prop
💰 Ещё один конкурс 💰

В этот раз идём по классической схеме и разыгрываем:
5 бесплатных доступов в Arbuzers Private (на 1 месяц)
5 Telegram Premium (на 6 месяцев)

Условия конкурса читайте ТУТ

Также в канале @arbuzerspublic вышел пост о том, что мы сделали за последнее время в приватке:
- Написали публичную библиотеку на Typescript для работы с EVM (библиотека на основе ethers.js)
- Написали софт на Typescript под Solana (meteora + phoenix)
- Написали софт на Typescript под Berachain (куча активностей, включая Faucet)
- Написали софт под BOB (куча активностей)
читать подробнее...

Как вы видите, мы начали использовать TS/JS в работе, а это значит, что скоро выйдет большая серия бесплатных видеоуроков по TS/JS 🥳

SemolinaCode | Chat | YouTube | Arbuzers | HowToCode | Prop
Please open Telegram to view this post
VIEW IN TELEGRAM
Я дорос до уровня, когда от моего имени скамят людей

Проблема в том, что буквы L и i в английском языке очень похожи
То есть маленькая буква L - почти то же самое, что и большая i

Заблокируйте или накидайте жалоб на этого клоуна @ahiIIary

❗️❗️❗️В СПОЙЛЕРЕ СКАМЕРСКИЙ АККАУНТ
МОЙ АККАУНТ УКАЗАН В ШАПКИ ЭТОЙ ГРУППЫ ❗️❗️❗️

SemolinaCode | Chat | YouTube | Arbuzers | HowToCode | Prop
Долой "глупые" вопросы!!

Если вы новичок в коддинге и не понимаете:
- Как установить python
- Что такое виртуальное окружение
- В чем разница между venv и virtualenv
- Как устанавливать библиотеки в python
- Как запустить софт

Специально для вас я подготовил небольшой гайд, где разобрал все эти вопросы на Unix системах (Linux и Mac OS), а также на шайтан машине Windows

В статье есть способы решения наиболее часто встречаемых ошибок поэтому после прочтения статьи у вас уже не возникнет вопросов о том как запусить софт на python

➡️ ЧИТАТЬ СТАТЕЙКУ
➡️ ЧИТАТЬ СТАТЕЙКУ
➡️ ЧИТАТЬ СТАТЕЙКУ

P.S Используйте этот пост как ответ любому новичку

SemolinaCode | Chat | YouTube | Arbuzers | HowToCode | Prop
Please open Telegram to view this post
VIEW IN TELEGRAM
Semolina Code (Python / TypeScript)
Долой "глупые" вопросы!! Если вы новичок в коддинге и не понимаете: - Как установить python - Что такое виртуальное окружение - В чем разница между venv и virtualenv - Как устанавливать библиотеки в python - Как запустить софт Специально для вас я подготовил…
Как запустить софт на JavaScript/TypeScript?

Продолжаем рубрику "Долой "глупые" вопросы!!"

В первой части мы был разобран python

В этой части мы поговорим про JavaScript/TypeScript и переферийные технологии (CSV, JSON, Базы данных)

Если вы новичок в коддинге и не понимаете:
- Как установить node js
- Как установить JavaScript/TypeScript
- Что такое CSV
- Как редактировать CSV файл
- Что такое база данных
- Как читать/изменять записи в базе данных
- Что такое JSON и чем он так удобен
- Как запустить софт на JS/TS

Специально для вас я подготовил небольшой гайд, где разобрал все эти вопросы на Unix системах (Linux и Mac OS) и Windows

➡️ ЧИТАТЬ СТАТЕЙКУ
➡️ ЧИТАТЬ СТАТЕЙКУ
➡️ ЧИТАТЬ СТАТЕЙКУ

P.S Используйте этот пост как ответ любому новичку

SemolinaCode | Chat | YouTube | Arbuzers | HowToCode | Prop
Please open Telegram to view this post
VIEW IN TELEGRAM
Про контент

За эти 2.5 месяца лета я очень сильно прокачал свои хард скиллы (не только в python, но и в других ЯПах JS SOON) и даже успел отдохнуть

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

У меня образовался очень большой список с идеями и мне супер важно найти пересечения с вашими интересами, чтобы у нас получился win-win

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

P.S. Я сам не большой любитель заполнять формы так как есть ощущение, что они ни на что не влияют
Но я гарантирую, что каждый ваш ответ в этой форме привнесет огромное велью, как минимум, лично мне ❤️

SemolinaCode | Chat | YouTube | Arbuzers | HowToCode | Prop
Повлияй на мой контент

Главная причина по которой я веду данный канал - я хочу быть полезным

Возможно, я уже как-то помог лично тебе или помогу в ближайшем будущем

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

Прочитав ваши ответы, я смогу построить правильный контент-вектор и достичь просветления 🧘

За прохождение анкеты вы получите небольшую статтю о том, «почему смарты выбирают коддинг» 🍬

➡️ АНКЕТА
➡️ АНКЕТА
➡️ АНКЕТА

SemolinaCode | Chat | YouTube | Arbuzers | HowToCode | Prop
Please open Telegram to view this post
VIEW IN TELEGRAM
Чит на бесконечный деньги в berachain

Когда я писал софт по берачейн, я допустил ошибку и отправил транзакцию на свап нативного токена без указания value

Как итог, транзакция прошла успешно, баланс нативного токена не изменился, а баланс токена, на который свапал, увеличился

Но счастье длилось не долго так как оказалось, что баланс нативного токена не изменился только в метамаске (также он не изменился при получении баланса через web3.eth.balance())

Итог следующий: таким образом вы можете себе накрутить бесконечный баланс в сети berachain, но потратить эти деньги нельзя

Подробную информацию по этой ошибке с шагами воспроизведения я написал в bag report

Вывод: пишите код самостоятельно и не бойтесь совершать ошибки. Как минимум ошибка принесет вам опыт, а как максимум профит
Почти все “дыры” в проектах программисты находят абсолютно случайно, а в web3 подобная “дыра” может выйти в копеечку

SemolinaCode | Chat | YouTube | Arbuzers | HowToCode | Prop
Please open Telegram to view this post
VIEW IN TELEGRAM
Новый вызов

Мы с командой решили запустить небольшой челендж и показать как знание кода упрощают заработок в сфере web3 (даже в общеизвестных проектах)

Мы будем автоматизировать проект Х (название проекта закинем в группу how_to_code_web3) с помощью python. Помимо заработка в моменте, проект Х и связанные с ним в будущем раздадут дропчики

Наша цель – показать вам внутрянку разработки. Показать как пишется код и как заказ с техническим заданием на 4 часа превращается в заказ на 2 недели
Всё это мы приправим проектом Х, который позволит нам заработать денег или потерять. В любом случае понаблюдать за этим стоит

‼️ Также под эту движуху мы возьмём случайного подписчика, который вместе с нами окунётся в эту внутрянку, получит доступ к коду, пообщается с разработчиком, столкнется со всеми трудностями запуска кода итд
Опыт неважен. Мы всему научим и всё покажем

Место, где пройдет челлендж и выйдет анкета - это наш канал по кодингу how_to_code_web3
От вас не требуется ничего, кроме подписки


На что мы можем надеяться?

Исход 1: Мы не сможем заработать на проекте в моменте, мы не попадём под критерии дропа и останемся в нуле.
Даже при таком исходе мы получим огромный опыт автоматизации + будет не так обидно так как мы не тратим на проект месяцы жизни - проект будет полностью автоматизирован.
Да, в крипте нужно быть готовым к подобным исходам так как крипта – это не стабильный завод

Исход 2: Мы заработаем в моменте или заберём дроп.
В принципе неплохой исход, при котором мы так и так будем в плюсе

Исход 3: Мы заработаем и в моменте и на дропе.
Лучший исход так как мы тут получим максимальную прибыль при минимальных временных затратах

Какой бы исход не произошел, мы 100% получим колоссальный опыт

SemolinaCode | Chat | YouTube | Arbuzers | HowToCode | Prop
Всё готово к началу челенджа

Надеюсь, вы помните про челендж, который мы запускаем в канале how to code

В чем смысл челенджа?
Смысл челенджа заключается в том, чтобы выбрать человека максимально далекого от программирования, но с максимально горящими глазами и мотивацией и помочь ему автоматизировать какой-нибудь перспективный крипто проект

Какой проект выбрали?
Критерии выбора проекта были следующие:
- проект ещё не выдал дроп (то есть мы должны претендовать на раздачу денег в будущем)
- проект может накормить здесь и сейчас (нам ведь нужно вам какой-то результат показать)

Подробно о том, какой проект мы выбрали и почему именно его, мы расписали тут

Кто наш счастливчик?
Наш выбор пал на Александра
Александру 29 лет и он работает дезинфектором
Его анкета вдохновила нас больше всего. В ней сильно ощущалось желание выйти из этого порочного круга и начать зарабатывать не руками, а головой. Александр уже пробовал разобраться в кодинге самостоятельно, но у него не получалось

Анкету Александра, его историю и даже его фотографию вы можете посмотреть тут

Я уверен, что это будет интересный челендж и не только Александр в нём чему-то научится, но и мы все (как организаторы, так и наблюдатели)

Знакомство с Александром в формате лайв стрима пройдёт на канале how to code сегодня в 17:30 (MSK UTC+3) (через 10 минут!!!)

Это будет стрим, где каждый сможет задать вопросы Александру и понять для себя важные вещи по кодингу. И по другим жизненным вещам
Буст мотивации обещаем

Все вопросы можно задавать в комментарии группы how to code (первый раз за всё время их открываем)

Присоединяйтесь и пожелайте нам удачи

SemolinaCode | Chat | YouTube | Arbuzers | HowToCode | Prop
AMA сессия (16.10 18:00 MSK)

Как вы помните, 2 недели назад мы запустили челендж, в рамках которого мы поручили новичку в программировании написать код под автоматизации криптопроекта (Meteora)
На данный момент мы готовы подвести промежуточный результат так как код уже готов

Мы решили сделать эту AMA сессию максимально интересной и поэтому в ответах на вопросы будут участвовать:
- создатель обучения
- счастливчик
- ученик первого потока
- ученик второго потока

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

Главный секрет это – вопросы ментору
Именно вопросы позволяют вам быстро прогрессировать и не тратить десятки часов на поиск ответов

Каждому спикеру AMA сессии вы можете задать вопрос через форму
Не стесняйтесь и задавайте абсолютно любые вопросы (можно анонимно)
Мы постараемся ответить на каждый

➡️ ЗАДАТЬ ВОПРОС

SemolinaCode | Chat | YouTube | Arbuzers | HowToCode | Prop
Please open Telegram to view this post
VIEW IN TELEGRAM