Как стать автором
Поиск
Написать публикацию
Обновить
4.63

Solidity *

Язык программирования контрактов для Ethereum

Сначала показывать
Порог рейтинга
Уровень сложности

Dash Platform: Дата-контракты

Время на прочтение7 мин
Количество просмотров1.6K

Дата-контракты - это мощный инструмент, который уже широко используется в сфере сервисов данных Web2 благодаря своим многочисленным преимуществам для пользователей и разработчиков. Они представляют собой относительно простые JSON-схемы, определяющие структуру данных, которые может хранить dapp.

Читать далее

Создание Blockchain CTF: практический опыт

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров2.1K

Мы в CyberOK в ходе пентестов очень любим “взламывать” разнообразные инновационные и необычные вещи. Смарт-контракты на блокчейне давно появились на наших радарах, так как они не только предлагают прозрачность, надежность и автоматизацию, но и легко могут стать объектом атак и уязвимостей. В рамках кибербитвы Standoff 10 мы решили объединить наш опыт по анализу защищенности и расследованию инцидентов в блокчейне и представить его в игровой форме — в виде открытой платформы для проведения соревнований Capture The Flag (CTF). Мы развернули собственную блокчейн-сеть с помощью ganache, чтобы дать участникам возможность взаимодействовать со смарт-контрактами в наиболее реалистичной атмосфере.

Эта статья – подробный туториал о том, как сделать такой же CTF для блокчейна своими руками. Я расскажу какие технологии могут помочь вам поиграться со смарт-контрактами у себя дома и устроить собственное соревнование из подручных средств.

Читать далее

Взаимозаменяемые токены в асинхронных сетях

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров1.4K

Принятие EIP-20 в сети Ethereum позволило создавать широкий спектр монет на основе смарт-контрактов. Новые взаимозаменяемые токены стали основой для управления сторонними блокчейн-проектами и переноса ценности внутри экосистемы Ethereum. Архитектура блокчейна Ethereum и ранняя имплементация протокола привели к некоторым недостаткам реализации, например, смарт-контракт токена хранит информацию о всех держателях, что сильно увеличивает физические размеры блокчейна.

Прблемы протокола Ethereum могут быть решены в более современных сетях, строящихся с применением асинхронной парадигмы. Однако, при проектировании асинхронных блокчейнов архитектура даже такой неотъемлемой части сети как взаимозаменяемые токены должна быть пересмотрена.

Читать далее

Как получить доступ к данным Ethereum смарт-контракта в real-time из Python

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров4.1K

Всем привет! Представим, что вам нужен доступ к данным каких-либо смарт-контрактов на Ethereum (или Polygon, BSC и т.д.), например, Uniswap, SushiSwap, AAVE (или даже PEPE-coin) в реальном времени, чтобы анализировать их с помощью стандартных инструментов дата-аналитиков: Python, Pandas, Matplotlib и т.д. В этом туториале я покажу инструменты для доступа к данным на блокчейне, которые больше похожи на хирургический скальпель (сабграфы The Graph), чем на швейцарский нож (доступ к RPC ноде) или, скажем, молоток (готовые API от компаний-разработчиков). Надеюсь, мои неумелые метафоры вас не пугают. Кому интересно научиться, добро пожаловать под кат.

Под кат

Как устроен DEX на OrderBook

Уровень сложностиСредний
Время на прочтение15 мин
Количество просмотров3.9K

Привет! На связи – Павел Найданов, блокчейн-разработчик в MetaLamp.В этом материале я расскажу o том, как типичный для сферы классических финансов инструмент OrderBook прижился в мире web3.

На протяжении нескольких лет я изучаю тонкости устройства web3 продуктов и собираю ценную информацию для себя и будущих коллег в формате мини-энциклопедии. Вместе с коллегами я готовлю wiki-статьи для нашей бесплатной карты развития по предметке web3. И часть материалов мы решили адаптировать, чтобы сделать мир крипты доступным для более широкого круга читателей. Это вторая статья из цикла, посвященного устройству децентрализованных обменников. В прошлом выпуске мы с коллегами – Алексеем Куценко и Романом Ярлыковым – разбирались в устройстве DEX на AMM с наглядными примерами и расчётами. В этой статье приглашаю рассмотреть альтернативу автоматических маркет-мейкеров – DEX на OrderBook. 

Читать далее

История умных контрактов: приключение, начатое Ником Сабо

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров3.4K

Эта статья – путеводитель по увлекательному миру умных контрактов. Она позволит вам проследить путь от рождения концепции умных контрактов в глубинах мысли Ника Сабо до их современного применения в финтехе.

Читать далее

18 нетрадиционных инструментов для Solidity разработчиков

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров3.1K

Приветствую всех любопытных умов и любителей блокчейн-разработки! Думаю нам всем знакомы такие инструменты, как Hardhat, Infura, Metamask и Web3.js. Они являются основными строительными блоками многих наших проектов и обязательным компонентом каждого арсенала разработчика Solidity.

В этой статье рассмотрим 18 нестандартных, но потенциально удивительных инструментов для разработчиков Solidity в 2023 году. Эти инструменты помогут взглянуть на блокчейн-разработку под новым углом и обновить ваши текущие проекты. Давайте вместе откроем новые горизонты в мире блокчейн ...

Читать далее

Создание NFT-коллекции для новичков

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров8.2K

В сети есть примеры и куски кода, но отсутствуют единые простые туториалы на русском, поэтому мы решили поделиться тем, как запускали свою NFT коллекцию и привести готовые скрипты с комментариями для абсолютных новичков.

Подробности создания NFT-коллекции

Solidity: Путешествие в сердце оптимизации

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров11K

Приветствую, кодеры Solidity!

Если вы здесь, то или у вас есть смарт-контракт, который готов к «похудению», или вы просто пытаетесь нарастить свои мышцы в области оптимизации Solidity. Как бы то ни было, сегодня я предлагаю вам навес золота в виде 27 проверенных методов оптимизации. Это ваш новый тренажерный зал для мозга! Всегда приятно иметь на руках свежий чек-лист перед запуском нового проекта. Итак, погнали!

Читать далее

Ethereum Contract ABI Specification. Взаимодействие с контрактом

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров5.3K

В данной статье я хочу познакомить вас с тем, как осуществляется кодирование данных в транзакции в соответствии с Contract ABI Specification. Мы вручную разберём весь процесс кодирования, создадим контракт и произведём вызов его методов. В конце я покажу как при помощи Contract ABI создать объект-оболочку через web3.js, и через него вызывать методы контракта.

Читать далее

Cмарт-контракт. Solidity + Ganache

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров4.1K

В данной статье мы познакомимся с тем, как задеплоить очень простой смарт-контракт на локальный блокчейн Ganache. После развёртывания смарт-контракта, мы научимся взаимодействовать с ним путём отправки транзакций в его адрес. Для простоты я буду использовать фреймворк Truffle, так как он облегчает деплой и взаимодействие со смарт-контрактом.

Читать далее

Что такое индексация смарт-контрактов в Web3 разработке? (Начальные знания не требуются)

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров4.8K

Всем привет, решил перевести свою англоязычную статью, в которой я скомпилировал знания полученные в течение года работы в web3 инфраструктурном провайдере о данных на EVM блокчейнах и инструментах разработчика для доступа к ним.

Сложно сказать, что культура инженерии данных глубоко укоренилась в сообществе разработчиков Web3. И не каждый разработчик может легко определить, что означает индексация в контексте Web3. Я хотел бы уточнить некоторые детали на эту тему и поговорить об инструменте под названием The Graph, который стал де-факто стандартом индустрии для доступа к данным на блокчейне для создателей DApp'ов (децентрализованных приложений).

Под кат

Из экономистов в программисты или как я стал аудитором смарт-контрактов

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров4.6K

Самая обсуждаемая тема в криптосообществе: это как найти Solidity разработчиков, создать свой DeFi проект и на этом поднять большие деньги. Я хотел поделиться с Вами как я с нуля выучил язык программирования Solidity и попал на работу в известную IT компанию.

У меня высшее экономическое образование и опыт работы в банковской сфере более 15 лет. Однако, даже и не думал в страшном сне, что окажусь на улице по причине сокращения штатов в одном, очень известном, государственном банке. Летом 2016 года под сокращение попало более 50% персонала, в том числе и все региональные подразделения. Одним словом политика. Походив по своим высокопоставленным знакомым, я понял, что бывший чиновник никому не нужен и стал думать о смене карьеры. У меня был знакомый программист и по его рассказам я понял, что данные специалисты достаточно неплохо зарабатывают. Но почитав в интернете о популярных языках программирования, я понял, что никогда не смогу конкурировать с ребятами знающими Си++, JS или Java. И тут, я случайно натолкнуться на статью, где рассказывалось о блокчейне, смарт-контрактах и о новом, перспективном языке Solidity, требующем низкого порога вхождения, но тогда мало кому известном.

Читать далее

Ближайшие события

Создаём иной смарт-контракт по старому адресу

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров3.3K

«Можно ли изменить код смарт‑контракта и разместить по его по старому адресу?» — такой вопрос мне задали на собеседовании Solidity разработчика.

Точный ответ требует разбора вопроса и определения требований к задаче. Требование — «изменить контракт без изменения адреса». Для этого есть подходы с обновляемым смарт‑контрактом… Но оказалось, что нет. Это вопрос на знание опкодов EVM.

Сейчас расскажу как создатьуничтожитьразместить_иной_контракт по старому адресу смарт‑контракта (далее — СмК) без использования паттерна Transparent Proxy и UUPS.

Читать далее

Блокчейн аналитика в Dune Analytics на примере Uniswap

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров4.1K

Есть такая платформа Dune Analytics, с помощью которой можно делать аналитику по данным из блокчейна, строить графики и дэшборды. В декабре 2022го в коллаборации с Uniswap они запустили курс 12DaysOfDune, в котором я поучаствовал. Хочу поделиться с вами заданиями первой недели курса и вариантами решений.

В результате вы узнаете, что представляет собой Dune, научитесь делать аналитику самостоятельно на примере Uniswap. Uniswap — это протокол децентрализованного обмена и крупнейший сервис для обмена криптовалюты (децентрализованная биржа).

Читать далее

Разработка и верификация Proxy/Factory смарт-контрактов. Solidity

Время на прочтение3 мин
Количество просмотров2.7K

Factory смарт-контракты - контракты, являющаяся фабриками / заводами по производству других контрактов. Разберемся в их разработке на примере создания ERC-20 tokens Factory.

Создадим обычный контракт ERC-20, прибегнув к контракту OpenZeppelin. Допишем в конструктор _transferOwnership(owner). Это позволит тем, кто будет создавать контракты токенов через нашу Factory быть для них владельцем, иначе владельцем будет являться наш контракт фабрики контракта.

Читать далее

Мульти-прокси смарт контракт стандарта EIP-2535 «Diamond»

Время на прочтение28 мин
Количество просмотров2.8K

Ссылка на видео-туториал и подробное объяснение

GitHub

В этом материале речь пойдет про стандарт EIP-2535, также широко известен как Diamond или Multi-Facet Proxy. Стандарт дает возможность создавать модульные, обновляемые смарт контракты, которые обладают рядом преимуществ перед такими стандартами обновляемых контрактов как Transparent и UUPS.

Читать далее

Принципы SOLID коротко и простым языком (на JS)

Время на прочтение2 мин
Количество просмотров32K

SOLID это аббревиатура, которая обозначает пять принципов объектно-ориентированного программирования. Эти принципы помогают разработчикам писать качественный и поддерживаемый код. Вот как выглядят эти принципы.

Читать далее

Обновляемые смарт-контракты: Что это такое и как создать свой собственный. Часть 2

Время на прочтение11 мин
Количество просмотров3.8K

В первой теоретической части мы поговорили про то, что такое обновляемый смарт-контракт и как работают обновления.

Напомним, что большинство вещей всегда требует некоторого обновления. Но тогда данные, хранящиеся в блокчейн, неизменяемы. Так как же тогда смарт-контракты могут быть обновляемыми?

Короткий ответ заключается в том, что смарт-контракты сами по себе не могут изменяться - они постоянны и неизменяемы после развертывания на блокчейне. Но dApp может быть разработан таким образом, чтобы один или несколько смарт-контрактов работали вместе, обеспечивая его "бэкенд". Это означает, что мы можем обновить схему взаимодействия между этими смарт-контрактами. Модернизация смарт-контракта не означает, что мы изменяем код развернутого смарт-контракта, а означает, что мы меняем один смарт-контракт на другой. Мы делаем это таким образом, что (в большинстве случаев) конечному пользователю не придется менять способ взаимодействия с dApp.

Читать далее

Деревья Меркла и экономия газа в смарт-контрактах Solidity

Время на прочтение13 мин
Количество просмотров3.9K

В идеальном децентрализованном приложении мы бы хотели хранить все в блокчейне на смарт-контрактах — в хранилище Ethereum: данные не могут быть изменены несанкционированным способом. Но запись какой-либо информации, размером 32 байта обойдется нам в 20000 газа. На момент написания статьи это примерно $0.26, c одной стороны не много, но что если мы хотим хранить в хранилище какой-то значительный массив информации.

В поисках решения данной проблемы экосистема Ethereum дает множество альтернативных вариантов. Как правило, в выбранном пути есть компромисс между доступностью и ценной. Вариант описанный в этой статье может обойтись крайне дешево в реализации, при должном подходе и понимании темы.

В этой статье вы узнаете про Деревья Меркла — специальный алгоритм хэширования данных, благодаря которому, мы сможем сохранить всю полноту необходимой информации, не прибегая к постоянному перезаписыванию содержимого хранилища Ethereum.

Видео-туториал: https://www.youtube.com/watch?v=1aC1_AlCuT8

Читать далее