Если вы пишете на Solidity больше полугода, вы наверняка уже сталкивались с прокси-контрактами. Если нет — сталкивались, просто не знали об этом: почти каждый серьёзный протокол на EVM использует какой-нибудь прокси-паттерн. Uniswap, Aave, OpenSea — все они. А в основе всех прокси лежит один опкод — DELEGATECALL. Читать далее
Представляем третью часть цикла, посвященного типичным уязвимостям, атакам и проблемным местам, присущим смарт-контрактам на языке Solidity, и платформе Ethereum в целом. Здесь поговорим о том, какими особенностями обладает Solidity и какими уязвимостями они могут обернуться в умелых руках. Читать дальше →
Хочу рассказать об изменениях языка Solidity, которые ожидаются в версии 0.5.0. Сразу отмечу, что я ограничусь только языком — его грамматикой и семантикой. Какого-то вменяемого текста на эту тему нет даже на английском языке, но недавно в репозитории Solidity появился проект. По нему можно отслеживать прогресс подготовки версии 0.5.0. Disclaimer: в статье описано текущее состояние проекта, к релизу многое может поменяться. Точную информацию можно получить из официального changelog'a. Читать дальше →
Больше года я работал над книгой «Создание смарт-контрактов Solidity для блокчейна Ethereum. Практическое руководство», и вот теперь эта работа завершена, а книга издана и доступна в Литресе. Надеюсь, моя книга поможет быстро приступить к созданию смарт-контактов Solidity и распределенных