Roadmap "Как изучать Solidity и блокчейн разработку"
Изучайте алгоритмы
Важность знания и понимания различных алгоритмов не может быть переоценена, особенно при их использовании в смарт-контрактах. Рассмотрим, например, задачу сортировки массива данных (картинка номер 1 сверху)
Как вы можете наиболее эффективно и экономно обработать такую задачу на Solidity? Здесь знание алгоритмов придет на помощь, позволяя вам выбрать наиболее подходящий метод сортировки (картинка номер 2 снизу)
В контексте данного примера, одним из возможных решений может быть применение алгоритма сортировки "Merge". Если вам не знаком этот алгоритм, вы можете ознакомиться с ним и с другими алгоритмами по ссылке.
#roadmap #howtolearn
Изучайте алгоритмы
Важность знания и понимания различных алгоритмов не может быть переоценена, особенно при их использовании в смарт-контрактах. Рассмотрим, например, задачу сортировки массива данных (картинка номер 1 сверху)
Как вы можете наиболее эффективно и экономно обработать такую задачу на Solidity? Здесь знание алгоритмов придет на помощь, позволяя вам выбрать наиболее подходящий метод сортировки (картинка номер 2 снизу)
В контексте данного примера, одним из возможных решений может быть применение алгоритма сортировки "Merge". Если вам не знаком этот алгоритм, вы можете ознакомиться с ним и с другими алгоритмами по ссылке.
#roadmap #howtolearn
Blockchain Developer. Roadmap "Как стать блокчейн разработчиком"
Step by step guide to becoming a blockchain developer in 2024.
https://roadmap.sh/blockchain
Step by step guide to becoming a blockchain developer in 2024.
https://roadmap.sh/blockchain
Roadmap "Как изучать Solidity и блокчейн разработку"
Погружайся глубоко в изучение Solidity
Solidity - это относительно простой язык программирования. В отличие от таких языков как C/C++, Java, Python, где для достижения уровня эксперта может потребоваться более 30 лет, в случае с Solidity вы можете достичь этого уровня за пару лет. Настоятельно рекомендую полностью изучить официальную документацию, и после поэкспериментировать с интерактивный справочником по опкодам на сайте evm.codes.
Вполне верно, важно осознать суть того, с чем мы работаем. Эту мысль ярко иллюстрирует известное высказывание Авраама Линкольна:
#roadmap #howtolearn
Погружайся глубоко в изучение Solidity
Solidity - это относительно простой язык программирования. В отличие от таких языков как C/C++, Java, Python, где для достижения уровня эксперта может потребоваться более 30 лет, в случае с Solidity вы можете достичь этого уровня за пару лет. Настоятельно рекомендую полностью изучить официальную документацию, и после поэкспериментировать с интерактивный справочником по опкодам на сайте evm.codes.
Вполне верно, важно осознать суть того, с чем мы работаем. Эту мысль ярко иллюстрирует известное высказывание Авраама Линкольна:
Дайте мне шесть часов для того, чтобы срубить дерево, и я потрачу первые четыре часа на то, чтобы заточить топор.
#roadmap #howtolearn
Что такое атака 51%?
Атака 51% на блокчейн происходит, когда группа или отдельный человек в конечном итоге контролируют более половины (или> 50%) хешрейта майнинга или вычислительной мощности.
В этом случае они могут управлять системой, отклоняя и одобряя транзакции, и даже могут выполнять двойное расходование(двойные траты).
#вопрос #собеседование
В этом случае они могут управлять системой, отклоняя и одобряя транзакции, и даже могут выполнять двойное расходование(двойные траты).
#вопрос #собеседование
Solidity и смарт-контракты Ethereum. Введение, Remix IDE, аккаунты, газ, первый контракт
#видео
Таймкоды:
00:00 Введение: о чём эти уроки?
01:13 Централизованные приложения
02:00 Децентрализованные приложения (DApps)
05:26 Особенности Ethereum и смарт-контрактов
08:15 Особенности Solidity
09:20 Remix IDE
10:40 Интерфейс Remix IDE
13:40 Аккаунты в Ethereum
15:53 Что такое газ (gas)?
18:50 Остальные элементы интерфейса
19:32 Напишем первый смарт-контракт!
22:34 Сохранение владельца контракта
23:50 Конструкторы
25:36 Функция и payable (приём денег)
27:40 Использование mapping
29:50 Функция для вывода денег на аккаунт
36:17 Взаимодействие со смарт-контрактом
42:10 Заключение
Смотреть полное видео
#видео
Таймкоды:
00:00 Введение: о чём эти уроки?
01:13 Централизованные приложения
02:00 Децентрализованные приложения (DApps)
05:26 Особенности Ethereum и смарт-контрактов
08:15 Особенности Solidity
09:20 Remix IDE
10:40 Интерфейс Remix IDE
13:40 Аккаунты в Ethereum
15:53 Что такое газ (gas)?
18:50 Остальные элементы интерфейса
19:32 Напишем первый смарт-контракт!
22:34 Сохранение владельца контракта
23:50 Конструкторы
25:36 Функция и payable (приём денег)
27:40 Использование mapping
29:50 Функция для вывода денег на аккаунт
36:17 Взаимодействие со смарт-контрактом
42:10 Заключение
Смотреть полное видео
YouTube
Solidity и смарт-контракты Ethereum, урок #1 (АПДЕЙТ В ЗАКРЕПЕ) | Интро, Remix IDE, первый контракт
ХОТИТЕ СТАТЬ РАЗРАБОТЧИКОМ Solidity, узнать об Ethereum, блокчейне и многом другом ещё больше?!
Мои друзья из GUIDE DAO (бывшая школа MCS) предлагают скидку 0,1 ETH на ВСЕ СВОИ БУТКЕМЫ ПО КРИПТЕ! Материалы этих буткемов подготовлены мной и другими специалистами:…
Мои друзья из GUIDE DAO (бывшая школа MCS) предлагают скидку 0,1 ETH на ВСЕ СВОИ БУТКЕМЫ ПО КРИПТЕ! Материалы этих буткемов подготовлены мной и другими специалистами:…
👍2
⚒Хард-скиллы для будущего джедая блокчейн-разработки
Чтобы претендовать на должность блокчейн-разработчика, нужно уметь программировать (и не обязательно уходить с головой в full-stack — достаточно одного из упомянутых языков), разбираться в архитектуре, знать технологии, лежащие в основе блокчейна и иметь практический кейс разработки смарт-контрактов (очень желательно).
Список хард-скиллов, о которых спросят на собеседовании, примерно такой:
▫️знать Solidity и JavaScript (C# будет плюсом), если предстоит работать с блокчейном Ethereum; Python пригодится только для программной блокчейн-платформы Tezos;
▫️уметь применять протоколы RPC, gRPC, HTTPS;
▫️понимать, как работают на практике принципы архитектурного стиля REST API;
▫️разбираться в технологиях одной из популярных сетей, например, Ethereum, TON, Solana — с их помощью создаются приложения с децентрализованной схемой хранения данных и обеспечивается работа криптовалют;
▫️иметь опыт разработки смарт-контрактов на принятом для используемой сети языке, например, Solidity для Ethereum;
▫️понимать работу с криптографическими инструментами –– а при их разработке применять знания информатики и математики; с помощью криптографических методов данные шифруются у отправителя и дешифруются у получателя;
▫️знать основы блокчейна –– системы управления базами данных и компьютерными сетями (это неотъемлемые части создания и поддержания технологии), уметь строить топологию;
▫️понимать различные типы структур данных (массивы, разветвленные и линейные связанные списки, «деревья», векторы, множества и т. д.).
Чтобы претендовать на должность блокчейн-разработчика, нужно уметь программировать (и не обязательно уходить с головой в full-stack — достаточно одного из упомянутых языков), разбираться в архитектуре, знать технологии, лежащие в основе блокчейна и иметь практический кейс разработки смарт-контрактов (очень желательно).
Список хард-скиллов, о которых спросят на собеседовании, примерно такой:
▫️знать Solidity и JavaScript (C# будет плюсом), если предстоит работать с блокчейном Ethereum; Python пригодится только для программной блокчейн-платформы Tezos;
▫️уметь применять протоколы RPC, gRPC, HTTPS;
▫️понимать, как работают на практике принципы архитектурного стиля REST API;
▫️разбираться в технологиях одной из популярных сетей, например, Ethereum, TON, Solana — с их помощью создаются приложения с децентрализованной схемой хранения данных и обеспечивается работа криптовалют;
▫️иметь опыт разработки смарт-контрактов на принятом для используемой сети языке, например, Solidity для Ethereum;
▫️понимать работу с криптографическими инструментами –– а при их разработке применять знания информатики и математики; с помощью криптографических методов данные шифруются у отправителя и дешифруются у получателя;
▫️знать основы блокчейна –– системы управления базами данных и компьютерными сетями (это неотъемлемые части создания и поддержания технологии), уметь строить топологию;
▫️понимать различные типы структур данных (массивы, разветвленные и линейные связанные списки, «деревья», векторы, множества и т. д.).
👍3
Вопрос для ETH разработчика.
В чем разница между private, internal, public, and external functions?
Возможный вариант ответа:
Модификаторы видимости обязательны, всего их бывает 4. Указывает на то, откуда функция может быть вызвана:
external - внешние функции, могут быть вызваны только из другого контракта или через транзакцию, вызов func() не сработает внутри контракта, сработает this.func(), но практика с использованием this нежелательна, поскольку такая операция дороже. Если у вас появилась потребность вызвать external функцию внутри контракта, то лучше переименуйте её в public(следующий пункт)
public - функции с этим модификатором могут быть вызваны откуда угодно
internal - внутренние функции, нельзя вызвать через транзакцию, можно вызвать внутри контракта и контрактов, наследующих его. В этом случае this не работает
private - функции с этим модификатором можно вызвать только внутри текущего контракта
#вопрос #eth #собеседование
В чем разница между private, internal, public, and external functions?
Возможный вариант ответа:
Модификаторы видимости обязательны, всего их бывает 4. Указывает на то, откуда функция может быть вызвана:
external - внешние функции, могут быть вызваны только из другого контракта или через транзакцию, вызов func() не сработает внутри контракта, сработает this.func(), но практика с использованием this нежелательна, поскольку такая операция дороже. Если у вас появилась потребность вызвать external функцию внутри контракта, то лучше переименуйте её в public(следующий пункт)
public - функции с этим модификатором могут быть вызваны откуда угодно
internal - внутренние функции, нельзя вызвать через транзакцию, можно вызвать внутри контракта и контрактов, наследующих его. В этом случае this не работает
private - функции с этим модификатором можно вызвать только внутри текущего контракта
#вопрос #eth #собеседование
👍4
⚒Софт-скиллы, которые помогут
Какие еще навыки нужно прокачать, чтобы комфортно чувствовать себя на позиции блокчейн-разработчика? В них много общего с требованиями, предъявляемыми к разработчику, но есть нюансы и особенности.
Важны:
▫️склонность к аналитическому мышлению,
▫️проактивный подход к обучению новому инструментарию,
▫️навыки аргументации и problem solving в быстро меняющихся условиях — своего рода операционный риск-менеджмент, необходимый во времена турбулентности,
▫️умение находить нетривиальное решение проблемы.
Главное же отличие блокчейна от другой разработки заключается в том, что это новая сфера, для которой пока не существует полноценной законодательной базы. А значит, блокчейн-специалисту потребуется здоровое любопытство и искренний интерес, стремление отслеживать появление новых норм регулирования и сфер, на которые распространяется блокчейн. Также необходимо следовать этическим нормам и правилам, закрепленным в сообществе.
Какие еще навыки нужно прокачать, чтобы комфортно чувствовать себя на позиции блокчейн-разработчика? В них много общего с требованиями, предъявляемыми к разработчику, но есть нюансы и особенности.
Важны:
▫️склонность к аналитическому мышлению,
▫️проактивный подход к обучению новому инструментарию,
▫️навыки аргументации и problem solving в быстро меняющихся условиях — своего рода операционный риск-менеджмент, необходимый во времена турбулентности,
▫️умение находить нетривиальное решение проблемы.
Главное же отличие блокчейна от другой разработки заключается в том, что это новая сфера, для которой пока не существует полноценной законодательной базы. А значит, блокчейн-специалисту потребуется здоровое любопытство и искренний интерес, стремление отслеживать появление новых норм регулирования и сфер, на которые распространяется блокчейн. Также необходимо следовать этическим нормам и правилам, закрепленным в сообществе.
👌4
Proof of Work (PoW). Как работает и что это такое?
Данный согласованный алгоритм используется для выбора майнера, который сгенерирует следующий блок в цепочке. Bitcoin, Ethereum, Litecoin и многие другие мастодонты блокчейн-индустрии используют PoW в своей работе.
Основная идея этого алгоритма состоит в том, чтобы решить сложную случайную математическую задачу, сгенерированную блокчейном и выдать решение.
Особенностью данного алгоритма является сложность решения задачи, но при этом его можно легко перепроверить.
Эта математическая головоломка требует больших вычислительных мощностей и, таким образом, узел, который решает головоломку, раньше остальных добирается до следующего блока.
PoW стремится, чтобы атака на сеть была чрезмерно дорогой и требует высоких энергозатрат, так как майнеры потребляют энергоресурсы для предоставления услуг учета и безопасности сети. Недостатками данного механизма принято считать ограниченную масштабируемость и невысокую пропускную способность .
#pow #blockchain #собеседование
Основная идея этого алгоритма состоит в том, чтобы решить сложную случайную математическую задачу, сгенерированную блокчейном и выдать решение.
Особенностью данного алгоритма является сложность решения задачи, но при этом его можно легко перепроверить.
Эта математическая головоломка требует больших вычислительных мощностей и, таким образом, узел, который решает головоломку, раньше остальных добирается до следующего блока.
PoW стремится, чтобы атака на сеть была чрезмерно дорогой и требует высоких энергозатрат, так как майнеры потребляют энергоресурсы для предоставления услуг учета и безопасности сети. Недостатками данного механизма принято считать ограниченную масштабируемость и невысокую пропускную способность
#pow #blockchain #собеседование
🔥5
Вопрос для ETH разработчика.
What is the difference between create and create2?
What is CREATE
Smart contracts can be created both by other contracts and regular EOA.They both compute the new address the same way:
So each created address is associated with a nonce value.Nonce increased on every transaction.It is related to the number of transactions we make and is unpredictable. That’s why we need CREATE2.
What is CREATE2?
The whole idea behind this opcode is to make the resulting address independent of future events. Regardless of what may happen on the blockchain, it will always be possible to deploy the contract at the precomputed address.There are four parameters in CREATE2 function:
* 0xFF
* the address of sender
* A salt (random value from sender)
* bytecode (the code of the new contract)
Обьяснение на русском читайте по ССЫЛКЕ
#вопрос #eth #собеседование
What is the difference between create and create2?
What is CREATE
Smart contracts can be created both by other contracts and regular EOA.They both compute the new address the same way:
new_address = keccak256(sender, nonce)
So each created address is associated with a nonce value.Nonce increased on every transaction.It is related to the number of transactions we make and is unpredictable. That’s why we need CREATE2.
What is CREATE2?
The whole idea behind this opcode is to make the resulting address independent of future events. Regardless of what may happen on the blockchain, it will always be possible to deploy the contract at the precomputed address.There are four parameters in CREATE2 function:
* 0xFF
* the address of sender
* A salt (random value from sender)
* bytecode (the code of the new contract)
new_address = keccak256(0xFF, sender, salt, bytecode)
Обьяснение на русском читайте по ССЫЛКЕ
#вопрос #eth #собеседование
🔥3👍1
Вопрос для ETH разработчика.
Насколько большим может быть смарт-контракт?
Ответ:
The Solidity max contract size is 24,576 bytes. This contract code size limit was introduced in EIP-170 with the Spurious Dragon hard-fork. The purpose of this limit is to prevent denial-of-service (DOS) attacks.
Максимальный размер контракта Solidity составляет 24 576 байт. Это ограничение размера кода контракта было введено в EIP-170 с хард-форком Spurious Dragon. Целью этого ограничения является предотвращение DOS aтак.
#вопрос #eth #собеседование
Насколько большим может быть смарт-контракт?
Ответ:
Максимальный размер контракта Solidity составляет 24 576 байт. Это ограничение размера кода контракта было введено в
#вопрос #eth #собеседование
Как работает атака 51%?
Проще говоря, атака 51% «отменяет» существующую сеть. Хакеры управляют протоколами безопасности сети, что может привести к значительному ущербу. Серьезный урон не гарантирован, но вероятен. В конечном счете, все зависит от того, насколько конкретная атака мощна и агрессивна.
Для проведения атаки хакеры используют значительные майнинговые или вычислительные мощности. Чем больше вычислительной мощности, тем легче захватить сеть.
Проведение атаки 51% — это непростая задача, благодаря децентрализации. Децентрализация — это когда устройства, на которых работает сеть, не соединены кабелями и вовсе находятся в разных местах.
Они принадлежат пользователям со всего мира, что делает захват всей сети затруднительным. Поэтому у хакеров остается один вариант — обойти основную сеть. Однако если в сети работает лишь несколько нод, то можно взломать их напрямую.
У небольших сетей меньше нод, что, в большинстве случаев, означает меньшую вычислительную мощность. Поэтому для взлома такой сети хакерам потребуется приложить намного меньше усилий. Однако в таких сетях циркулирует меньше средств, что делает их не слишком привлекательными.
Итак, чем больше сеть и чем больше в ней нод, тем сложнее ее захватить.
#собеседование
Для проведения атаки хакеры используют значительные майнинговые или вычислительные мощности. Чем больше вычислительной мощности, тем легче захватить сеть.
Проведение атаки 51% — это непростая задача, благодаря децентрализации. Децентрализация — это когда устройства, на которых работает сеть, не соединены кабелями и вовсе находятся в разных местах.
Они принадлежат пользователям со всего мира, что делает захват всей сети затруднительным. Поэтому у хакеров остается один вариант — обойти основную сеть. Однако если в сети работает лишь несколько нод, то можно взломать их напрямую.
У небольших сетей меньше нод, что, в большинстве случаев, означает меньшую вычислительную мощность. Поэтому для взлома такой сети хакерам потребуется приложить намного меньше усилий. Однако в таких сетях циркулирует меньше средств, что делает их не слишком привлекательными.
Итак, чем больше сеть и чем больше в ней нод, тем сложнее ее захватить.
#собеседование
👍4
What prevents infinite loops from running forever?
Почему нет бесконечных циклов в Solidity?
The transaction gas limit prevents infinite loops from running forever.
Так как есть лимит газа.
#вопрос #eth #собеседование
Почему нет бесконечных циклов в Solidity?
Так как есть лимит газа.
#вопрос #eth #собеседование
🔥6👍1
Какие бывают типы блокчейна?
Публичный блокчейн. Публичные блокчейны отличаются тем, что они открыты для всех желающих присоединиться к сети. ...
Частный блокчейн. Частные блокчейны, или управляемые сети, контролируются одной организацией или группой организаций. ...
Гибридный блокчейн.
Блокчейн-консорциумы.
#собеседование
Частный блокчейн. Частные блокчейны, или управляемые сети, контролируются одной организацией или группой организаций. ...
Гибридный блокчейн.
Блокчейн-консорциумы.
#собеседование
👍2🔥1
⚒ Топ-10 платформ для разработки блокчейна.
▫️Ethereum: Является второй по величине сетью блокчейн и содержит тысячи децентрализованных приложений. Полностью поддерживает смарт-контракты.
▫️Блокчейн IBM: Эта частная сеть была разработана с учетом гибкости и функциональности. Имеет высокий уровень кастомизации, удобный интерфейс и свободное владение несколькими языками программирования.
▫️ConsenSys Quorum: Разработана инвестиционным банком JPMorgan и основана на сети Ethereum, но оптимизирована для поддержки более быстрых транзакций. Известна своей поддержкой GDPR и другими мерами безопасности.
▫️Hydrogen Molecule: Предлагает множество функций, которые делают её хорошим выбором для разработчиков, желающих предоставить пользователям быстрые и безопасные финансовые решения. Токенизированная защита, хэширование и отслеживание данных - лишь некоторые её преимущества.
▫️Hyperledger Fabric: Разработана компанией Linux и предназначена для использования в приложениях различных отраслей. Благодаря модульной архитектуре Fabric процесс создания сложных блокчейн-решений значительно упрощается.
▫️Ripple: Еще одно довольно популярное решение на основе блокчейна. Известная своей прозрачностью, низкими комиссионными за обработку данных и быстрым временем отклика, она используется сотнями финансовых учреждений по всему миру. Не поддерживает смарт-контракты.
▫️Stellar: Это еще одно блокчейн-решение, ориентированное на финансовую сферу. Ключевым отличием от других блокчейн-платформ является то, что оно не принадлежит ни одному человеку, то есть он на 100% децентрализован.
▫️EOSIO: Легкая масштабируемость и быстрое время обработки данных — две основные привлекательные черты платформы EOSIO. Она обладает высокой степенью гибкости, предлагая совместимость со смарт-контрактами и децентрализованными приложениями.
▫️Corda: Отличается от других продуктов в этом списке. Существуют некоторые споры о том, является ли она блокчейном вообще. Самым большим плюсом этой технологии является более быстрое время обработки относительно других традиционных блокчейн-сетей.
▫️Elements: Последний представитель в этом списке, Elements, построен поверх сети Bitcoin, но включает в себя множество новых функций, таких как конфиденциальные транзакции.
А какие платформы вы бы добавили в этот список?
▫️Ethereum: Является второй по величине сетью блокчейн и содержит тысячи децентрализованных приложений. Полностью поддерживает смарт-контракты.
▫️Блокчейн IBM: Эта частная сеть была разработана с учетом гибкости и функциональности. Имеет высокий уровень кастомизации, удобный интерфейс и свободное владение несколькими языками программирования.
▫️ConsenSys Quorum: Разработана инвестиционным банком JPMorgan и основана на сети Ethereum, но оптимизирована для поддержки более быстрых транзакций. Известна своей поддержкой GDPR и другими мерами безопасности.
▫️Hydrogen Molecule: Предлагает множество функций, которые делают её хорошим выбором для разработчиков, желающих предоставить пользователям быстрые и безопасные финансовые решения. Токенизированная защита, хэширование и отслеживание данных - лишь некоторые её преимущества.
▫️Hyperledger Fabric: Разработана компанией Linux и предназначена для использования в приложениях различных отраслей. Благодаря модульной архитектуре Fabric процесс создания сложных блокчейн-решений значительно упрощается.
▫️Ripple: Еще одно довольно популярное решение на основе блокчейна. Известная своей прозрачностью, низкими комиссионными за обработку данных и быстрым временем отклика, она используется сотнями финансовых учреждений по всему миру. Не поддерживает смарт-контракты.
▫️Stellar: Это еще одно блокчейн-решение, ориентированное на финансовую сферу. Ключевым отличием от других блокчейн-платформ является то, что оно не принадлежит ни одному человеку, то есть он на 100% децентрализован.
▫️EOSIO: Легкая масштабируемость и быстрое время обработки данных — две основные привлекательные черты платформы EOSIO. Она обладает высокой степенью гибкости, предлагая совместимость со смарт-контрактами и децентрализованными приложениями.
▫️Corda: Отличается от других продуктов в этом списке. Существуют некоторые споры о том, является ли она блокчейном вообще. Самым большим плюсом этой технологии является более быстрое время обработки относительно других традиционных блокчейн-сетей.
▫️Elements: Последний представитель в этом списке, Elements, построен поверх сети Bitcoin, но включает в себя множество новых функций, таких как конфиденциальные транзакции.
А какие платформы вы бы добавили в этот список?
👍3🔥1