Первое сообщение в канал)
• Я кодер
• В программировании около 5-ти лет
• Пишу на C, C++, Python, JS, PHP, SQL, BASH ну и остальное по мелочи
• Учился в академии ФСБ на специалиста по защите информации, но ушел через 2 года так как служба не совпадала с планами на жизнь
• Учился в "школе 21" два года
• Преподавал несколько лет языки программирования
• Позже начал писать кучу софта под фондовую биржу - различные сканеры, расширения итд
С помощью этого софта заработал деньги на несколько лет вперед
Но СПБ биржа не работает и вот уже пол года я смотрю в сторону крипты и наконец-то нашел то, чем мне было бы интересно заниматься
А именно - работа с DEX, смарт контрактами, solidity, абуз
Канал создаю чтобы писать отчеты для себя, но кому-то может быть это тоже будет полезно
Первое, с чем я буду разбираться - solidity + смарт контракты
С этого дня буду уделять минимум 2 часа изучению
Всю информацию, по которой обучаюсь сам, буду скидывать сюда
• Я кодер
• В программировании около 5-ти лет
• Пишу на C, C++, Python, JS, PHP, SQL, BASH ну и остальное по мелочи
• Учился в академии ФСБ на специалиста по защите информации, но ушел через 2 года так как служба не совпадала с планами на жизнь
• Учился в "школе 21" два года
• Преподавал несколько лет языки программирования
• Позже начал писать кучу софта под фондовую биржу - различные сканеры, расширения итд
С помощью этого софта заработал деньги на несколько лет вперед
Но СПБ биржа не работает и вот уже пол года я смотрю в сторону крипты и наконец-то нашел то, чем мне было бы интересно заниматься
А именно - работа с DEX, смарт контрактами, solidity, абуз
Канал создаю чтобы писать отчеты для себя, но кому-то может быть это тоже будет полезно
Первое, с чем я буду разбираться - solidity + смарт контракты
С этого дня буду уделять минимум 2 часа изучению
Всю информацию, по которой обучаюсь сам, буду скидывать сюда
👍6
Я начинаю не с нуля
Вот гемная инфа, которую было бы неплохо знать, чтобы двигаться вместе со мной
1) Язык python
Мой первый язык программирования был C++
Я полностью перешел с C++ на python примерно за 2 недели с помощью этой книги (если не знаете других ЯПов, то будет тяжеловато её читать)
2) Язык JS
Я начал изучать этот язык, когда проходил курс по Django
В курсе был кусочек кода на JS и описание кода в стиле "просто запомните этот код. Он работает вот так..."
Мне нравится разбираться со всем фундаментально и после этих слов я потратил ~пол года на изучение JS (я изучал неторопливо и бОльшая часть того, что я знаю по JS по сути пока не пригодилась)
3) Вводная инфа по смарт контрактам и работе блокчейна (автору канала огромный респект и благодарность за такую инфу)
Вот гемная инфа, которую было бы неплохо знать, чтобы двигаться вместе со мной
1) Язык python
Мой первый язык программирования был C++
Я полностью перешел с C++ на python примерно за 2 недели с помощью этой книги (если не знаете других ЯПов, то будет тяжеловато её читать)
2) Язык JS
Я начал изучать этот язык, когда проходил курс по Django
В курсе был кусочек кода на JS и описание кода в стиле "просто запомните этот код. Он работает вот так..."
Мне нравится разбираться со всем фундаментально и после этих слов я потратил ~пол года на изучение JS (я изучал неторопливо и бОльшая часть того, что я знаю по JS по сути пока не пригодилась)
3) Вводная инфа по смарт контрактам и работе блокчейна (автору канала огромный респект и благодарность за такую инфу)
👍3
Я буду начинать изучения solidity с ютуба (потому что мне так удобно. До официальной документации тоже обязательно доберемся):
Лично я смотрю видос и записываю в тетрадь всю основную информацию оттуда
Для меня это самый продуктивный способ изучения нового языка
Лично я смотрю видос и записываю в тетрадь всю основную информацию оттуда
Для меня это самый продуктивный способ изучения нового языка
👍3
Первый урок (Введение, Remix IDE, аккаунты, газ, первый контракт)
Код с первого урока с комментариями:
Полезные ссылки из первого урока:
remix ide онлайн
скачать remix ide
язык solidity
документация ethereum
цены на газ
Код с первого урока с комментариями:
Полезные ссылки из первого урока:
remix ide онлайн
скачать remix ide
язык solidity
документация ethereum
цены на газ
👍3🔥1
Третий урок (Типы данных string, address, mapping)
Не уверен на 100%, но вроде нашёл баг Remix IDE
если в функцию, которая принимает строку, передать параметр типа:
"parametr""
то IDE умрет
код с комментариями:
Кусочек документации по типам данных
Не уверен на 100%, но вроде нашёл баг Remix IDE
если в функцию, которая принимает строку, передать параметр типа:
"parametr""
то IDE умрет
код с комментариями:
Кусочек документации по типам данных
👍2🔥1
👍1
Пятый урок (Тестирование, Hardhat, Waffle, Ethers, Mocha, Chai)
Установочник NodeJS
Где-то может потребоваться установка с sudo
Node-gyp
Я устанавливал на мак с помощью
npm install --location=global node-gyp
Hardhat
В директории создаем новый проект:
npm init -y
Устанавливаем hardhat (quick start):
npm install --save-dev hardhat
Заходим в мастер:
npx hardhat
Create a JavaScript project
Устанавливаем нужные библиотеки
npm install --save-dev "hardhat@^2.10.0" "@nomicfoundation/hardhat-toolbox@^1.0.1"
Будем использовать библиотеки (установятся сами как hardhat-toolbox):
EthersJS (для взаимодействия со смарт контрактами)
MochaJS (для написания тестов)
ChaiJS (для написания ожиданий)
WaffleJS (Надстройка над MochaJS для тестирования смарт контрактов)
Буду работать через VS Code + консоль
В VS Code можно установить расширение "Solidity"
Компиляция проектов:
npx hardhat compile
Удаление скомпилированных контрактов:
npx hardhat clean
Для тех, кто как и я не работали с nodeJS и не знаю как работают импорты/експорты
Запустить все тесты:
npx hardhat test
Проверки через to для эфира находятся в библиотеке waffle
Код контракта
Код тестов
Установочник NodeJS
Где-то может потребоваться установка с sudo
Node-gyp
Я устанавливал на мак с помощью
npm install --location=global node-gyp
Hardhat
В директории создаем новый проект:
npm init -y
Устанавливаем hardhat (quick start):
npm install --save-dev hardhat
Заходим в мастер:
npx hardhat
Create a JavaScript project
Устанавливаем нужные библиотеки
npm install --save-dev "hardhat@^2.10.0" "@nomicfoundation/hardhat-toolbox@^1.0.1"
Будем использовать библиотеки (установятся сами как hardhat-toolbox):
EthersJS (для взаимодействия со смарт контрактами)
MochaJS (для написания тестов)
ChaiJS (для написания ожиданий)
WaffleJS (Надстройка над MochaJS для тестирования смарт контрактов)
Буду работать через VS Code + консоль
В VS Code можно установить расширение "Solidity"
Компиляция проектов:
npx hardhat compile
Удаление скомпилированных контрактов:
npx hardhat clean
Для тех, кто как и я не работали с nodeJS и не знаю как работают импорты/експорты
Запустить все тесты:
npx hardhat test
Проверки через to для эфира находятся в библиотеке waffle
Код контракта
Код тестов
👍1🔥1
Судя по описанию - норм гайд
После окончания своего обучения по ютубу обязательно прочитаю этот
Если не понравится, удалю с канала
После окончания своего обучения по ютубу обязательно прочитаю этот
Если не понравится, удалю с канала
Forwarded from Max Wayld Dev (Max Wayld マキシ)
Статья с роадмапом по изучению Solidity за 30 дней.
Сразу говорю - благодаря этому гайду ты не станешь терн.крипто 2.0 за 30 дней, но сможешь стартануть в этой сфере и изучить все необходимые основы.
Как тебе пригодится этот навык? Вариантов огромное множество: от реального вклада в эту сферу и разработки любых интересующих тебя продуктов, до выноса тех же NFT-сейлов.
Welcome к разбору:
> https://teletype.in/@maxycrypto/solidity_30days
Я уже давно считаю что кодеры это самые важные люди в нашей сфере и толковых девов всегда будет недостаточно, поэтому пилить такие гайды на бесплатной основе - моя отдушина. Буду рад любому фидбеку с твоей стороны!
P.S: также, к концу этой недели выйдет моя ретроспектива по всем материалам для Solidity.
Сразу говорю - благодаря этому гайду ты не станешь терн.крипто 2.0 за 30 дней, но сможешь стартануть в этой сфере и изучить все необходимые основы.
Как тебе пригодится этот навык? Вариантов огромное множество: от реального вклада в эту сферу и разработки любых интересующих тебя продуктов, до выноса тех же NFT-сейлов.
Welcome к разбору:
> https://teletype.in/@maxycrypto/solidity_30days
Я уже давно считаю что кодеры это самые важные люди в нашей сфере и толковых девов всегда будет недостаточно, поэтому пилить такие гайды на бесплатной основе - моя отдушина. Буду рад любому фидбеку с твоей стороны!
P.S: также, к концу этой недели выйдет моя ретроспектива по всем материалам для Solidity.
Teletype
Выучить Solidity за 30 дней: роадмап по становлению tern.crypto
Статья, которая даст тебе всё необходимое для старта погружения в солидити и девелопинг в web3.
Восьмой урок (Древо Меркла, хэши, encode, циклы)
немного оптимизировал код, который заполняет хеши с индекса 4 (для начальной коллекции в 4 элемента)
То, что было:
uint offset = 0;
while (count > 0) {
for (uint i = 0; i < count - 1; i += 2) {
hashes.push(keccak256(
abi.encodePacked(
hashes[offset + i], hashes[offset + i + 1]
)
));
}
offset += count;
count /= 2;
}
То, что стало:
for (uint i = 0; i <= count + 1; i += 2) {
hashes.push(keccak256(
abi.encodePacked(
hashes[i], hashes[i + 1]
)
));
}
Убрал 1 цикл, убрал создание дополнительной переменной
Возможно для понимания проще код с урока, но мой будет работать быстрее и эффективней
Так же из функции verify убрал параметр index так как он там никак функционально не задействован
Мой код с комментариями
немного оптимизировал код, который заполняет хеши с индекса 4 (для начальной коллекции в 4 элемента)
То, что было:
uint offset = 0;
while (count > 0) {
for (uint i = 0; i < count - 1; i += 2) {
hashes.push(keccak256(
abi.encodePacked(
hashes[offset + i], hashes[offset + i + 1]
)
));
}
offset += count;
count /= 2;
}
То, что стало:
for (uint i = 0; i <= count + 1; i += 2) {
hashes.push(keccak256(
abi.encodePacked(
hashes[i], hashes[i + 1]
)
));
}
Убрал 1 цикл, убрал создание дополнительной переменной
Возможно для понимания проще код с урока, но мой будет работать быстрее и эффективней
Так же из функции verify убрал параметр index так как он там никак функционально не задействован
Мой код с комментариями
Гемная инфа на будущее
Тоже надо будет со всем этим ознокомиться после ютуба
Тоже надо будет со всем этим ознокомиться после ютуба