WEB3 CODING - Новая (секретная) мета 202x года?
Привет!
То, что ты открыл эту статью - уже половина твоего успеха, ведь в этой статье мы собираемся тебе объяснить, почему заголовок статьи не глупый байт и почему ты 🫵🏻 должен прислушаться.
В так называемом окружении "веб3", согласись, очень много обыкновенных доходяг которые кличут себя криптанами, я не осуждаю их, просто где же остальные отрасли этой прекрасной эпохи интернета децентрализованности? Помню как года 3-4 назад хотел стать Data science разработчиком и потихоньку двигаться в карьерной лестнице, но как же я ошибался и не видел у себя под носом самую лучшую нишу в программировании (ноу имхо). Но стоит ли оно того? Что вообще может предложить веб3 программирование, сложно ли это?
В этой статье постараемся объяснить все понятным, но может не совсем простым языком. Будет очень хорошо если ты уже имел дело с кодингом. Приступим!
Эту прекрасную статью делали t.me/morphlowbanker и t.me/crypto7QuaD
ЧЕ ПРЯМ РЕАЛЬНО СТОЛЬКО
Для начала пару причин почему тебе стоит попробовать это направление. Это не кликбейт а реальные примеры которые тебе заспавнят феррари под окном
и ещё парочку - Rust направление
- А девы контрибуторы? только за Q3 стартапы подняли $2 ярда бабок, даже если по минимальной ставке в 2% на девов - по несложным подсчетам ~$40 ярдов. НА ДЕВОВ . Думаю слышали примеры, где типы просто подключали гитхаб, нихуя не делали, и выносили 10k$ с каждого гитхаба. думаем.
- Фаундеры стартапов? не тут вообще молча.
- Нелегал движ. ТУТ ОСУЖДАЕМ ПОЛНОСТЬЮ. Но рассказать надо, over $6 billion in losses, по данным новостных источников. И это не включая все ваши лузы на пампфане и фьючах. Это те средства которые были украдены технически. Думаем? Не, в эту сторону мы не думаем. Но думаем так, чтобы не свистнули у нас.
После этого кто-то скажет, что для этих вещей надо долго трудится, учить, нужны академические знания матана и тервера и тд и тп. Скажем одно, если не захочешь - найдешь тысячу отговорок. Если захочешь - ты даже наши мысли до конца не дочитаешь, а полетишь кодить. X2 думаем.
Плохому танцору яйца мешают, а плохому деву - нихуя не мешает. Без негатива.
Выбор направления и языка программирования
Привет грибочек! Ну что, надеюсь мы заинтересовали тебя нашим прекрасным хуком и введением, время выбрать для тебя язык программирования который подойдет именно тебе и поможет тебе не сдохнуть от голода на медвежке (хотя может ты ботов на пихтоне писать будешь, разницы не будет тогда)
Python
Самый любимый язык для новичков и людей которые не совсем дружат с прогой(без негатива). Это интерпретируемый, высокоуровневый язык программирования общего назначения, созданный Гвидо ван Россумом и впервые выпущенный в 1991 году
Он прост в синтаксисе, легко читается и, опять же, даже новичок который ничего не понимает в кодинге поймет о чем код, и конечно же из-за этих плюсов его выбирают много программистов как и в веб2, так и в веб3.
Из минусов могу выделить: — Язык медленный. Это не совсем минус, ведь это довольно легко исправить и язык предназначен в случаях, когда скорость разработки важна больше чем скорость кода.
— ОГРОМНАЯ конкуренция. Я не зря написал "огромная" большими буквами, ведь конкуренция действительно бешеная, угадайте почему.
— Не для больших проектов. Если вы нацелены пойти дальше софтов "для себя" или "да я так, для общего развития" то python точно не тот язык
Где можно использовать мои знания про python в веб3?
- Взаимодействие с блокчейнами через web3.py Помню сам проходил такое, может быть полезно если делаете какой-то дефай сайт с инфой про блокчейны (explorer for example)
- Скрипты для работы с кошельками и смарт-контрактами Наверно самое интересное для меня в Python, в тот момент как я сам изучал его я нацелился именно на этот путь. Простые махинации по типу прокрутить транзы на монадiке или, не знаю, выполнить Galxe квесты, но это только если вы извращенец
- Defi-боты, ноды и трейдинг-алгоритмы Тот самый alKo-трейдинг который за тебя решает какую сделку ты откроешь на основе статистики (RSI > 70 - шортим), короче хуйня, легче на кофейной гуще гадать, это и то профитнее
- Доп. функция благодаря которой можно подключится к любым веб3 инфраструктурам (Chainlink, The Graph и т.п.) Уже лютая альфа за которую знают только лютые программисты, но о такой альфе попозже
Rust
Это системный язык программирования, известный своей безопасностью, производительностью и контролем над памятью без сборщика мусора. Противоположная история Пиптона, ведь Rust это про скорость и надежность.
Rust идет, собаки лают, ведь мало кто знает что Solana, Polkadot, NEAR, CosmWasm и zk-протоколы используют либо были написаны на Rust.
Где можно использовать в Web3:
• Смарт-контракты на Solana, NEAR - Я думаю вам пока не совсем понятно зачем нужны смарт-контракты и почему мы об этом рассказываем, но всему свое время, учим.
• Собственные блокчейны - звучит жестко, но поверьте это лютый мастхев, проекты гребут таких разработчиков лопатами, и те реально купаются в деньгах пока остальные набивают лвл 3 месяца ради 100$
C++
Хех..) Я только пришел в кодинг и начал учить С++, ХЕХ))) я такой...мазохист...контроль памяти, хех) Ну зато мой скрипт Hello world за 0.00001 секунду вывел!!
C++ - Почти быстрейший язык на планете земля после папочек C и Assembler, может почти что все и является любимчиком всех разработчиков, а еще забавный факт - сеть биткоина и от части eth написаны на плюсах, прикольно да?
- Лютая гибкость. Щас говорим не про память, с ней и так все понятно, я говорю про то что плюсы очень многофункциональный язык на котором можно писать все, от игр до собственных операционок
- Вы контролируете память. Буквально вы сами отвечаете за то, насколько ваша память будет засрана. У вас нет всяких garbage collector и спокойствия что вы не сломаете что-нибудь просто написав простейший код. Минус ли это? Не знаю, зависит от вас скорее, ведь это большая гибкость.
- Low-leveling. В веб3 наверно не пригодится, но тем не менее. Можно буквально писать код с учетом архитектуры CPU, напрямую управлять логикой и подобное.
- Вы знаете что такое EOSIO? Я на самом деле тоже не знал, но порыскав нашел что на c++ тоже можно делать собственные блокчейны (смарт контракты в том числе)
- Создание нод. Уже говорил про биткоин и его узлы, Bitcoin core полностью на C++
- Движки для консенсуса. Знаете алгоритм Proof of stake? C++ позволяет писать подобные
GOlang
Сынок Python и C, ведь хранит в себе лучшие стороны этих языков. Это компилируемый, статически типизированный язык программирования, разработанный в Google в 2007 году и официально представлен в 2009. Он ориентирован на высокопроизводительные сетевые и многопоточные приложения и имеет простой синтаксис и быструю компиляцию.
На самом деле новый для меня язык, но от этого он не становится хуже других а на оборот становится очень сильным инструментом
- Разработка блокчейн-нод и клиентов. Эфир, один из core'ов космоса и, какой-нибудь chaincode написаны на Go
- DeFi backend-сервисы. API для кошельков, бирж, дашбордов и аггрегаторов цен, Сервисы, отслеживающие события смарт-контрактов через WebSocket RPC, и другая душная тематика
В целом язык направлен на качественный и быстрый back-end, очень узконаправленный язык
Javascript + HTML/CSS
Javascript - моя любимка среди языков программирования из-за баланса сложности и возможностей, но я считаю, что этот язык должен идти в комплекте с HTML+CSS т.к. изначально конечно js был создан для настройки взаимодействий пользователя и сайтов, и последние два инструмента очень легкие в освоении (буквально 24 часа времени и вы все знаете)
Javascript - Динамически и слабо типизированный язык, переменные вы можете переопределять на лету и не нужно предугадывать какая переменная что будет хранить. Если хотите строгую типизацию - Typescript вам в помощь
Поддерживает асинхронность что очень важно для Web3 ведь асинхронность - это скорость, а что касаемо скорости самого языка - язык интерпретируется в реальном времени (что-то типо НЕ асинхронности), но множество браузеров использует JIT-движки компиляции, так что эта скорость нивелируется
А что там насчет использования? Вообще, JS очень универсален. Хоть он и создан был для чтобы делать веб страницы интерактивными, он все еще подходит для того чтобы и скрипты писать, и даже браузерные игры (да да, возможно даже Cambria была написана с помощью js), короче:
- UI/UX и логика кошельков. Можете пойти немного глубже и "на заказ" писать логику кошельков и в целом всего интерфейса. Немного зажеванная тема, но такое есть. Вырванное направление из прошлого
- CLI-скрипты. Те самые всеми любимые авто-боты для накрута транзакций, набив объема и подобные ретро-штучки. Также это касается алго-трейдинга, ну и в догонку можете отслеживать активность на смарт контракте. Для этого всего может быть потребуется знать о Node.js!!
- dApp приложения. Самое первое что приходит в голову на вопрос: Чтобы такого создать c помощью моего fullstack стека. А что вообще такое dApp? Это приложение в котором часть логики работает на блокчейне, а другая часть работает как обычное веб-приложение. В общем, смесь веб2 и веб3 функций, то что вы привыкли видеть, разные свапалки, бриджи, galxe - это дапки (ну galxe от части конечно)
Solidity
Базовая база любого начинающего веб3 dev’а, с помощью этого языка вы можете написать буквально все самое используемое в веб3 пространстве. Язык работает лишь с ERC-20 сетями и токенами оттуда же, но это не мешает солидити быть самым ярким представителем среди других языков. Ведь его возможности буквально неограниченны: протоколы лендинга, смарт-контракты, токены, пулы ликвидности и другие умные слова
- Похож на Python/Javascript - да, сам на нем прогал и действительно довольно похоже, отличие нашел лишь в типизации причем довольно строгой
- Много базовых конструкций - if, while, struct, for, function, не ошибетесь в общем
- Небольшой язык - звучит как басня но это правда, несмотря на свою сложность и непонятность язык небольшой, в целом чтобы взаимодействовать с блокчейном и смарт-контрактом много букв и инструкций не нужно
- Контракты похожи на классы - ООП-подобный стиль: можете наследовать, переопределять, вызывать.
- EVM-ограничения - не стоит забывать для чего этот язык создан. И к сожалению где-то вне его вряд-ли получится использовать. Но дайте знать если напишите какой-нибудь скрипт для микроволновки или игру
- Работа с памятью - помните говорил про С++ где вам буквально самому нужно следить за памятью и “мусором”? Здесь также.
- Типы данных примитивны - хоть язык и похож на какой-нибудь JS, но типы данных к сожалению не наследовались от него. Все наистрожайше типизировано, все строго статично и вручную управляется
- Ошибки дорого стоят - в других языках и связующих компиляторах вас будут предупреждать об опасной/нежелательной ошибки в коде ибо это либо приведет к ошибке в коде (сам код будет работать, но сама логика - неправильна), либо хакеры легко найдут уязвимость и будут делать грязь
Думаю что на нем можно делать и так понятно - открываете Remix, делаем смарт-контракты, деплоим и думаем куда устроиться, шикарный выбор для веб3 dev’a👍
Софты
С языками вроде разобрались, теперь давайте поподробнее про скрипты Проекты, собственные dApp и "членство" в проектах это хорошо, но это действительно для гигачадов в мире кодинга, создавать свой проект это отдельная тема которой тоже нужно учится. Но что насчет софтов "для себя"?
Я уверен эту статью точно читает обладатель покупных софтов для проектов/автоминт бот и подобные. Поэтому давайте пару слов про это, с помощью чего такое создают и даже как это можно продать:
- Автоматизация на уровне блокчейна - представьте что вы нашли очень крутой проект и готовы сделать под сотню аккаунтов, только вот есть проблема - тыкать их всех ручками будет очень проблематично и долго т.к. это не простые социальные задания, это накрутка транзакций, объемов, минт NFT которые могут быть очень важным мультипликатором для дропа, поэтому здесь приходит на помощь кодинг. Языки: все зависит от ваших целей. Если у вас простенький софты который не нуждается в скорости и вам лень заморачиваться - python, если нужна скорость и более гибкая настройка - javascript+node.js (чуть сложнее)
- Автоминт боты - В целом, стек точно такой же, просто способ чуть другой + вам точно потребуется комбинировать языки + добавлять какие-то библиотеки и фреймы, но самое сильное будет делать через Rust/Go, думаю по прошлой главе вы понимаете почему. При написании такого софта вам можно - следить за началом минта через RPC-узел либо через фронт, ну и т.п....
- Разные GameFi скрипты - приведу такой пример, может кто знает или помнит игру Spellborne, раньше сам очень задротил в нее, и в общем игра это пародия на покемонов, только с использованием блокчейна, и важной частью игры было прокачка твоих мобов, а если есть гринд - есть и автоботы которые за тебя идут на локацию, фармят, возможно что-то больше. Бычок эклипса, почти та же тема, только там тупо тапалка с элементами "купить-рефильнуть".
Стек(если вкратце): JS/TS - база для работы с браузером. можете подключить Python если вы хотите внедрить нейронную сеть в ваш скрипт/софт Playwright - автоматизация поверх интерфейса. (клики, ввод текста и т.п.) И, конечно же, прилагающие библиотеки/фреймы, но если я о них всех напишу статья превратиться в справочник.
Понимание концепта блокчейна
Вроде база, не так ли? Не. Тут не про то что “ну типо децентрализация…. ну разные пк….. ну транзакции…… а ну ноды ещё чет мб”. Тут про жесткие рамки и полную внутрянку. Чтобы тебя разбудили в 3 ночи, и ты разложил всю инфу по устройству блокчейна от ассиметричной криптографии до трехуровневой схемы DeFi.
В самом деле, если вы только начинаете залетать в крипту - изучить основы и концепцию - это очень мощно. Обезвредит от скамыча да и прочих непоняток. Да и остановится после базы - очень сложно. Бывает сидишь по 3-4 часа в доках новых чейнов, проектов и впитываешь кучу новых тулз, решений и прочих полезностей, которые для дефолт юзеров - “ЗА ИДЕЮ!!!” Кстати писать тех. документации это экстра прибыльно, т.к. таких единицы и гребут они в карман знатно, но это уже совсем другая история.
Что можно выделить из базового понимания:
- Что такое блокчейн, блоки, транзакции и зачем оно нам надо
- Что такое хеш, ассиметричная криптография и ключи для обычного криптана
- Что такое смарт-контракт, где он живет и чем знаменит
- Где на самом деле хранятся ваши балансы и токены
- Что же содержит в себе всеми любимый Метамаск
Совет: если вы в ютубе не разу не вводили запрос “что такое крипта?” или “как работает блокчейн”, то в такой ситуации поможет только 250 грам ежовика гребенчатого, чтобы мозги не превратились в кашу от всей поступившей информации. Моментами будет не сладко
- Сид фраза и аккаунты
- APPROVE транзакции
- Внутренности транзакции. Поле Data
- Функции Метамаска без подключения к Блокчейну
- Функции Метамаска с подключением к Блокчейну
- Классические WEB уязвимости
На этом моменте ваше эго уже начинает потряхивать, и возможны порывы вашего выпендрежа в крипто чатах на тематику понимания блокчейна. Но прошу вас, воздержитесь и не будете последним уесосом.
- Дуализм контракта
- токен ERC-20 и интерфейс токена
- рагпулл: токены ЛП, незалоченные кошельки, внешний минт
- ханипот: transfer, transferFrom, approve
- рычаги: запрет, ограничение, блок
- понятие овнера контракта
- контракт с точки зрения блокчейна и транзакций
Где серчить инфу? Твиттер + нейро. Только будете аккуратны с нейронками и просите не инфу, а ссылки на неё и читайте всегда информацию в оригинале.
Ну и конечно расписывать все по пунктам нет смысла. Вы будете вынуждены встать с кресла и открыть все форточки в доме, так как душнить придется мощно и долго. Продолжение этого раздела выйдет в очередной огромнейшей статье, там будет хорошая баня
WORK
Как вам, и нам, и всем известно, мы здесь не за идею, то гоу пройдемся по работе. Да, первое время вам придется поработать на кого-то, как бы это вам не терзало душу. Но тут есть свои преимущества.
Главное из них - связи. Вы будет наращивать ваши связи с другими девами, фаундерами, маркетинг спецами и тд. По мере вашего роста - ваш ворк-проекты будут расти tier10 говно → tier7 → tier4 → tier3 → tier2 → tier1. Ну а если вы поработали в tier1, у вас в связях уже ангел инвестора и фонды. Я думаю продолжать не стоит.
Другие плюхи тоже есть, вы воркате в крипте, и крипта рядом с вами, есть стейбл подпитка, вы на медвежке не будете просасывать, ну и так далее.
Пройдемся по основным спецурам web3 coding
- Разрабатывает протоколы и базовую инфраструктуру блокчейна (ноды, консенсус-алгоритмы)
- Оптимизирует производительность и безопасность сети
- Rust (Solana, Polkadot), Go (Ethereum, Cosmos), C++ (Bitcoin)
- Знание P2P-сетей, криптографии, механизмов консенсуса (PoW, PoS, DPoS)
- Пишет и аудит смарт-контрактов для DeFi, NFT, DAO
- Работает с токенами (ERC-20, ERC-721), кросс-чейн взаимодействиями
- Solidity (Ethereum), Vyper, Rust (Solana), Move (Aptos, Sui)
- Фреймворки: Hardhat, Foundry, Truffle
- Тестирование: Mocha, Chai
- React.js / Next.js + Web3.js / Ethers.js / Wagmi
- Библиотеки: Web3Modal, WalletConnect
- Стейкинг-интерфейсы, дашборды DeFi
- Разрабатывает оракулы (Chainlink), индексаторы (The Graph)
- Настраивает API для взаимодействия с блокчейном (Alchemy, Infura)
- Проводит аудит смарт-контрактов на уязвимости (reentrancy, overflow)
- Разрабатывает инструменты для анализа кода (Slither, MythX)
- Проектирует экономику токенов и механизмы протоколов (AMM, lending)
- Анализирует рыночные модели (кривые связывания, эмиссию)
Хто? (чокнутые ублюдки, без личной жизни)
- Разрабатывает мосты между блокчейнами
- Работает с протоколами межсетевого взаимодействия (LayerZero, IBC)
- Комбинирует фронтенд, бэкенд и смарт-контракты в dApp
- Пример: лендинг ICO + стейкинг-контракт + дашборд
Базовые 10 проф ориентиров для ворк-кодинга, но обратите внимание на 10, это те типы которые делают все и всюду, могут и то и се и это. Это некий базовый идеал для web3 кодеров по универсальности. Это как фриланс в web2, full staki в web3 никогда не пропадут, ворк есть всегда.
Базовые советы
В целом СНГ информация - блоки шлака, и иногда чуть полезности. Чтобы найти годную статью, инфу, видос без воды и тд - надо постараться. Это в целом о web3. А web3 coding - это глубочайшая бездна. Годные каналы можно пересчитать по пальцам. (тут могла быть реклама твоего канала, но мы рекламу не продаем. если ты норм тип - зашиллим)
Сначала - концепт. Потом уже код. Если вы будете писать код без поверхностного понимания что да как - провал. И концепт это не просто блокчейн, блоки, ноды, роты. Это весь материал этого блока - click. Я не буду углубляться в технические подробности, но так как сам проходил это, скажу - это очень ебливое занятие.
Если вы до этого вы шарили за web2 код, кодили в унике, шараге и тд, начните с софтов. Базовые подключения к ноде, транзы, минты, берн. Так вы чуть коснетесь базы. Но если вы ни разу не кодили - скипайте софтинг, учите сразу под web3.
Заведите отдельный аккаунт, найстройте ленту под coding, подпишитесь на девов, языки, тех. проекты, делайте реплаи, общайтесь в сообществах. если не знаете что постить - постите свой прогресс. сегодня выучили наследование - запостили. решили задачу - запостили. создали первый репо на гитхабе - запостили. и делайте это через формат 1DAY, 2DAY, 3DAY.
Зачем? новые коннекты, связи, работа. Вам будут писать кодеры, вы будете узнавать что-то новое, будут кидать тз. мне к примеру на 4 день ведения твиттера кинули бесплатный буткемп по Solidity, прайсы которого начинались от $1,5k. Не прям вау, но приятно.
В начале (если вы только начали учить код), база для всех одна - это дефолт. Но когда вы уходите в глубь web3, навыки решения задач переходят в навык гугления, твиттерения и дискордения. Не забывайте тренировать ваши скилы на задачках, если вы ещё состоявшийся кодер web3. Состоявшийся - это примерно уровень Junior web3 зп. Тренируйте свой мозг.
Тут сразу все понятно, без этого никуда в любой сфере. Насчет ментора - круто, но не долбите в лс девам на прямую. Они скипают это в 99%. Проявляйте себя как живой человек через твиттер коментах, постах. Пару распальцовок киньте на фоне VScoda или гитхаба и постите в твиттер. Спрашивайте, только не глупые вещи которые можно прогуглить, спрашивайте о web3.
Если мне скажут что AI заменит кодеров, я нахуй открою им web3 гитхаб любого проекта или попрошу написать базовый смарт контракт на Rust, и посмотрю на их лица, когда там выдаст 53 ошибки при компиляции. Вот это они ахуеют того рот.
AI конечно классный инструмент и вначале вас очень сильно будет тянуть спросить у гпт, или подключить cursor, но все же вы дойдете до такого момента, что AI никак не поможет. А что поможет? Гугление, твиттерение, дискордение. Потому как уже сказал ранее, материала о web3 очень мало, да и ещё версии конфликтуют между собой, и иногда даже сами контрибуторы через тебя будут узнавать о конфиликтах и ошибках, потому как этот версию установило лишь 7 человек, где 5 - девы, 1 - ты и ещё один индус который перед кентами выебывается)
Путь таков: соло посидел покапал подумал → пошёл в гугл(ГУГЛ и никаких duckduckgo, edge, brave - только гугл поиск) → пошёл в твиттер → пошёл в дискорд.
если не нашел проблемы - отписываешь по тому же гайду за помощью. телеграм, реддит - можно выцепить инфу, но если ты состоишь в хороших сообществах.
Так делают только трусы. А ты не трус. Быть этого не может.
Первое правило web3dev, что поделать.
Просто говори что разработчик. И НИКАКИХ WEB3, CRYPTO, DECENTRALIZED
Конец, но не прощаясь
Ну что грибочек, вот и почти все. А почему почти? Потому что мы закончили локально, но не глобально и будем дальше толкать тебе полезной инфы, тулзы и даже видео. Сабайся ниже, думаю не стоит рассказывать зачем.
Конечно это была базово-ознакомительная статья, дальше - будем углубляться и копать, копать и копать. Чтобы ты из грибочка стал грибком, из грибка - грибом, а из гриба - трюфелем того хрюк. Давай!