Как стать автором
Обновить
-0.65

Solidity *

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

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

Инструмент статического анализа Slither

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

Всем привет! Я из команды по анализу уязвимостей распределенных систем Positive Technologies. Мы занимаемся исследованием безопасности в области блокчейн-технологий и хотим поделиться обзором фреймворка для статического анализа кода, написанного на Solidity, — Slither. Он разработан компанией Trail of Bits, релиз состоялся в 2018 году. Slither написан на Python 3.

Подробнее
Всего голосов 7: ↑7 и ↓0 +7
Комментарии 1

Новости

EVM — определение масштаба

Время на прочтение 6 мин
Количество просмотров 974

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

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Комментарии 0

Тестирование смарт-контрактов в Foundry (часть 4) (Fuzz-тестирование!)

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

Проходя данный цикл статей, мы овладели инструментарием и возможностями Foundry на уровне, достаточном для поддержания и создания проектов простого и среднего уровней. Предлагаю сегодня изучить очень важные и полезные возможности Foundry углублённого уровня, а именно - команды cast для ручной отправки RPC-запросов и fuzz-тестирование!

Поехали!
Всего голосов 4: ↑4 и ↓0 +4
Комментарии 0

Тестирование смарт-контрактов в Foundry (часть 3)

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

За прошедшие две части мы освоили почти всю базу, которая нужна нам для тестирования и отладки контрактов в Foundry. Пришло время закрепить успех! В этой части мы рассмотрим тестирование простых прокси-контрактов (Proxy Upgradable Contracts, UUPS) и на их примере создадим скрипт для деплоя и вызова функции, поработаем с переменными среды (env), частично автоматизируем работу с запуском скриптов (Makefile), разберёмся в форк-тестировании и запустим наш проект в тестнете!

Поехали!
Всего голосов 1: ↑1 и ↓0 +1
Комментарии 2

Истории

Пишем TIP-4 NFT коллекцию с картами для Гвинта на Everscale за 30 минут

Уровень сложности Сложный
Время на прочтение 17 мин
Количество просмотров 1.7K

По нашим предыдущим статьям может сложиться впечатление, что писать и деплоить смарт-контракты для асинхронных сетей на Threaded Virtual Machine (TVM), таких как Everscale и Venom, сложно и долго. Код смарт-контракта необходимо преобразовывать в файл с расширением .boc, в котором будет лежать код, приведенный к типу древа ячеек, с которым работает TVM. Кроме того, компилятор создает .abi файл, описывающий интерфейс контракта, его переменные, функции их параметры и возвращаемые ими типы. Этот файл используется для дальнейшей типизации для Typescript. Однако, благодаря инструментам, созданным в помощь разработчикам, процесс теста и деплоя смарт-контрактов по большей части автоматизирован.

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

Читать далее
Всего голосов 3: ↑2 и ↓1 +1
Комментарии 3

Тестирование смарт-контрактов в Foundry (часть 2)

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

В прошлой части мы познакомились с Foundry, создали новый проект и освоили самые базовые команды для тестирования. Сегодня нам предстоит окунуться чуть поглубже, освоить автоматическое форматирование кода (forge fmt), научится отслеживать качество тестирования наших контрактов (forge coverage), выводить подробные логи (vvvv), управлять временем (warp, roll) и деньгами(deal, hoax).

Поехали!
Всего голосов 2: ↑2 и ↓0 +2
Комментарии 3

Тестирование смарт-контрактов в Foundry (часть 1)

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

Foundry — это довольно свежий и очень мощный инструмент для разработки, деплоя и тестирования смарт-контрактов на языке Solidity, и в последнее время он набирает бешенную популярность.
Предлагаю создать собственный проект с помощью Foundry и освоить его волшебные инструменты тестирования

Поехали
Всего голосов 5: ↑5 и ↓0 +5
Комментарии 1

Стейблкоины. Как привязывают и почему не отвязывается!?

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

Всем привет! Я расскажу про то, какие стейблкоины бывают, на какие категории их можно разделить, какие модели сохранения привязки используются и в конце покажу учебную реализацию. Это должно быть интересно, как техническим специалистам, так и просто интересующимся миром децентрализованных финансов!

Опр! Стейблкоин - это тип криптовалюты, стоимость которой привязана к некоторому активу(фиатные средства, другие криптовалюты, драгоценные металлы и т.д.) и остается стабильной относительно других активов рынка. Стабильная стоимость достигается за счет хранения резервных активов или применения алгоритмов, управляющих спросом и предложением стейблкоина.

Читать далее
Всего голосов 8: ↑6 и ↓2 +4
Комментарии 12

Blockchain-разработка глазами Backend-разработчика

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

Я достаточно давно занимаюсь Backend разработкой и последние несколько лет, все больше и больше пишу разные блокчейн проекты (Solidity на EVM). Погружение в блокчейн мне давалось непросто и мой бэкендерский мозг несколько раз ломался, и я решил поделиться своим взглядом на погружение в блокчейн-разработку.

У этого поста также есть видеоверсия.

Читать далее
Всего голосов 19: ↑16 и ↓3 +13
Комментарии 20

Threaded Solidity: написание смарт-контрактов для асинхронных сетей на базе Threaded Virtual Machine (TVM)

Уровень сложности Сложный
Время на прочтение 24 мин
Количество просмотров 1.5K

В 2020 году написание смарт-контрактов для единственной существовавшей на тот момент децентрализованной сети, использовавшей TON Virtual Machine, а именно, Telegram Open Network (TON), требовало изучение языка Fift, написанного для создания и тестирования смарт-контрактов, исполняемых на этой виртуальной машине.

Позднее команды разработчиков разделились: одна из них начала совершенствовать TON Virtual Machine, и в результате доработок появилась Threaded Virtual Machine (TVM). Далее были запущены новые сети Everscale и Venom (последняя сегодня находится на этапе тестнета), в которых для исполнения смарт-контрактов используется уже Threaded Virtual Machine.

Был написан специальный компилятор Solidity кода в машинные инструкции TVM. Естественно, это добавило удобства разработке смарт-контрактов для блокчейнов Everscale и Venom, однако из-за существенных различий между Ethereum VM и Threaded VM, API компилятора серьезно расширяет стандартный Solidity.

В этой статье мы опишем характерные особенности написания смарт-контрактов для блокчейна на Threaded Virtual Machine (TVM). Для файлов смарт-контрактов в сетях Everscale и Venom используется расширение .tsol, что означает Threaded Solidity, благодаря которому асинхронные смарт-контракты дифференцируются от обычного синхронного солидити. Тем не менее, расширение .sol тоже используется.

Читать далее
Всего голосов 7: ↑7 и ↓0 +7
Комментарии 7

Smart-contract developer Road Map

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

Прочитав эту статью до конца вы поймете какими навыками вам нужно обладать для того, что бы стать smart-contract разработчиком!

В конце статьи прикреплен Solidity developer roadmap.

Читать далее...
Всего голосов 6: ↑6 и ↓0 +6
Комментарии 4

Чем DEX отличается от CEX? Как реальные протоколы реализовали DEX на AMM

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

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

Этот обзор поможет новичкам сориентироваться в устройстве децентрализованных финансов. А если где-то останутся вопросы и пробелы, найти недостающую информацию можно с помощью нашей бесплатной карты развития на GitHub, которую мы вместе с коллегами собираем, чтобы помочь желающим быстрее погрузиться в мир web3.

Когда я только начинал изучать разработку на блокчейн, иногда очень много времени уходило на то, чтобы разобраться в каких-то базовых понятиях и составить адекватное представление о возможностях, проблемах и перспективах продуктов в web3. Надеюсь, что эта статья поможет интересующимся сферой DeFi быстрее вникнуть в особенности работы децентрализованных обменников и понять тонкости и нюансы таких решений. Поехали!

Читать далее
Всего голосов 3: ↑3 и ↓0 +3
Комментарии 2

Как получить real-time данные смарт-контракта, используя The Graph (пишем свой сабграф)

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

Всем привет! В предыдущих статьях (1 и 2) я рассказывал про концепцию индексирования данных смарт-контрактов на блокчейне в общем и в частности через средства The Graph, а также про то, как использовать готовые "сабграфы" на The Graph Hosted Service, чтобы, не написав ни строки кода, делать к ним GraphQL запросы и получать данные популярных децентрализованных приложений. Однако, если вы присматриваетесь к Web3 разработке, то вероятно вам и самим придется разрабатывать такие сабграфы для своего приложения. Эту тему (разработка собственных сабграфов стандарта The Graph) я бы и хотел осветить в данном материале. Чтобы пример был не сферический и в вакууме, будем рассматривать существующий смарт-контракт проекта TornadoCash.

Под кат
Всего голосов 6: ↑6 и ↓0 +6
Комментарии 0

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

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

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

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

Читать далее
Рейтинг 0
Комментарии 2

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

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

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

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

Читать далее
Всего голосов 2: ↑2 и ↓0 +2
Комментарии 0

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

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

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

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

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Комментарии 5

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

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

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

Под кат
Всего голосов 9: ↑8 и ↓1 +7
Комментарии 1

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

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

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

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

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Комментарии 5

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

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

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

Читать далее
Всего голосов 15: ↑11 и ↓4 +7
Комментарии 4

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

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

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

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

Читать далее
Всего голосов 29: ↑24 и ↓5 +19
Комментарии 1