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

Solidity *

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

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

Обзор Polygon zkEVM: как работает L2 решение для Ethereum

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

Привет, Хабр! Меня зовут Леша Куценко, я разработчик смарт-контрактов в команде MetaLamp, мой основной стек – Solidity. В этой статье я подробнее расскажу про решение для масштабирования с нулевым разглашением (Zero-knowledge proof), а именно – о блокчейне второго уровня Polygon zkEVM. Как блокчейн решает проблему высокой стоимости газа в транзакциях и использует другие преимущества ZK-Rollups? Ответы на эти и другие вопросы в этой статье. 

Для более детального понимания Zero-Knowledge Proofs (ZKP), рекомендую обратиться к этой статье в нашей Blockchain-Wiki на Гитхабе.

Погнали!:)

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

Новости

Web3 приложение Twitter на React.js + Solidity | часть 2

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

Hello, в первой части был подготовлен проект, подключены кошельки и написан backend на Solidity, значит пришло время писать frontend на React.

Проект далёк от продакшена и является простым примером для новичков, предназначенным для демонстрации взаимодействия с смарт‑контрактом через веб‑приложение.

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

Расчет количества газа необходимого для выполнения транзакции в Ethereum

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

Привет, Хабр! Продолжаю серию статей о газе в Ethereum. ​​В этой статье подробно разберем составляющие параметра gasUsed , без которого невозможно подсчитать стоимость транзакции. Будем разбирать формулы из "желтой бумаги" и копаться в коде клиента "Geth". Это даст основу для понимания, как газ потребляется во время исполнения любой транзакции. Если вы еще не читали статью про то, как рассчитывается комиссия за газ в Ethereum, то она здесь.

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

Web3 приложение Twitter на React.js + Solidity | часть 1

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

Hello, в этой статье постараюсь подробно показать процесс создания dApp приложения на примере Twitter. Проект написан на ReactJS и Solidity. Контракт развернут в частной сети с помощью truffle и ganache.

В первой части мы подготовим проект, напишем смарт-контракт и развернем его в частной сети, а также подключим кошельки в MetaMask.

Во второй части будет написано web-приложение для взаимодействия с контрактом.

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

Истории

Что такое DAO?

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

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

Читать далее
Всего голосов 24: ↑23 и ↓1 +22
Комментарии 10

Как рассчитывается стоимость газа в транзакциях Ethereum

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

Привет всем! Я — Рома Ярлыков, разработчик смарт‑контрактов на Solidity в команде MetaLamp. ​​В этой статье я исследую механизмы расчета и составляющие цены газа в блокчейне Ethereum, описываю историческое развитие этих методов и их значимость, а также демонстрирую, как вычислить стоимость транзакции на основе ее газовых затрат. Это будет цикл статей, поэтому если вам интересна эта тема — не пропустите следующие:)

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

Как работает блокчейн Scroll: технические детали и обзор архитектуры

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

Привет, Хабр! Меня зовут Леша Куценко, я разработчик смарт-контрактов на Solidity в команде MetaLamp. ​​В этой статье я расскажу про основные технические принципы блокчейна Scroll, которые повлияли на дизайн блокчейна, а также дам обзор общей архитектуры блокчейна.

Из этой статьи вы детально узнаете: о Scroll, который состоит из централизованного узла секвенирования (execution node, rollup node) и децентрализованной сети (roller net), архитектуре и рабочем процессе rollup. Советую прочитать перед этим вот эту статью.

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

Почему native Account Abstraction в zkSync лучше ERC-4337

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

Привет, Хабр! Меня зовут Рома Ярлыков, я разрабатываю смарт-контракты на Solidity в MetaLamp. В этой статье я расскажу, как реализован Account Abstraction в zkSync и чем такой подход отличается от уже популярного стандарта ERC-4337. Чтобы понять, что за блокчейн zkSync, рекомендую сначала прочитать эту статью. А чтобы разобраться с Account Abstraction можно прочитать вот эту.

В Ethereum существует два типа аккаунтов: внешние аккаунты (Externally Owned Accounts, EOA), которые могут инициировать транзакции, но не обладают программируемой логикой, и смарт-контракты, имеющие возможность выполнения произвольной логики, но неспособные инициировать транзакции самостоятельно. Это вызывает большое количество проблем при взаимодействии с экосистемой блокчейна и повышает порог входа для новых пользователей.

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

ERC-2612 и юзабилити Ethereum dApp

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

Бороздя просторы Твиттера/X, увидел сервис smolrefuel.com, (тви), который решает проблему получения газового токена на Эфир-сетях, если у вас его нет, а есть выведенный, например, на кошелек с биржи, стейблкоин. Интересный кейс! – подумал я.

Начал разбираться, как это работает. Если высокоуровнево, то алгоритм такой:

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

Account Abstraction: что это такое и зачем нужно криптомиру

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

Привет всем! Меня зовут Паша, я web3 разработчик в команде MetaLamp, мой основной стек – Solidity. Последнее время я часто сталкивался с задачами, требующими применения технологии Account Abstraction, поэтому я решил собрать базовые знания о ней в одну статью. Эта статья поможет разработчикам получить общую картину что такое АА, для чего он нужен и куда углубиться в исследованиях дальше, чтобы овладеть навыками работы с АА в полной мере.

Технология АА вышла в свет под стандартом ERC-4337. Были, есть и появляются другие стандарты, где ведется разработка в направлении абстракции учетной записи, но мы погорим только про ERC-4337. Это стандарт Ethereum, который обеспечивает абстракцию учетной записи в протоколе без какого-либо изменения на уровне консенсуса.

Стандарт был предложен соучредителем Ethereum Виталиком Бутериным и другими разработчиками в 2021 году. В марте 2023 года он был развернут в основной сети Ethereum.

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

Как ZKP и ZK-Rollups помогают в решении проблемы масштабирования: обзор блокчейна zkSync

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

Привет, Хабр! Меня зовут Рома и я Solidity-разработчик. Вместе с коллегами мы создаем базу знаний по тематике блокчейна и web3-разработке. Меня заинтересовал блокчейн zkSync, т.к. он выделяется среди других Layer 2 решений, но сначала хочу немного рассказать, в чем суть проблемы масштабирования и какие есть особенности L2 в связке с ZK-Rollups. Эта статья будет интересна тем, кто хочет верхнеуровнево разобраться как работают такого рода решения и почему ZK-Rollups очень перспективное направление развития для блокчейнов в целом и Ethereum в частности.

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

Вестинг в криптопроектах: зачем нужен и как реализовать на Solidity

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

Привет, Хабр! Меня зовут Рома Ярлыков и я Solidity-разработчик в компании MetaLamp. В этой статье я подробнее расскажу про различные приемы, подходы и паттерны в распределение токенов среди участников проекта, а также покажу несколько популярных решений, используемых для вестинга токенов, одно из которых я применял на проекте заказчика. В этой статье можно найти ответы на популярные вопросы, которые возникают у разработчиков в проекте при реализации вестинга.

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

Смарт-контракты и возможность их применения

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

Привет, Хабр! На связи участник профессионального сообщества NTA Незнанов Дмитрий.

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

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

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

Московский туристический хакатон
Дата 23 марта – 7 апреля
Место
Москва Онлайн

Формальные методы проверки смарт-контрактов. Certora Prover

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

Друзья, приветствую! Меня зовут Сергей Соболев, я представляю отдел безопасности распределенных систем Positive Technologies. В этой статье начну рассказывать про методы и инструменты формальной верификации, их практическое применение в аудите смарт-контрактов, а также про подводные камни.

Сегодня поговорим про общие теоретические аспекты формальной верификации, проблемы SAT и SMT и закрепим все это на простом примере с использованием хайпового инструмента для анализа смарт-контрактов Certora Prover со своим языком спецификаций.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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