Pull to refresh
18
0
Pavel Naydanov @pnaydanovgoo

MetaLamp. Разработчик смарт-контрактов на Solidity

Send message

Непостоянные потери в Uniswap V2 + V3

Level of difficultyMedium
Reading time4 min
Views1.3K

В этой статье я расскажу что такое Uniswap Impermanent Loss, и почему это такая острая тема для провайдеров ликвидности.

Более конкретно, что вас ждёт в статье:

Небольшое погружение в то как работает Uniswap V2
Impermanent Loss для Uniswap V2
Погружение в то как работает Uniswap V3
Impermanent Loss для Uniswap V3
Проблемы провайдеров ликвидности или почему эта тема очень важна для них

Читать далее
Total votes 10: ↑8 and ↓2+9
Comments3

Вы сами это читали: как стать лучшим автором месяца

Level of difficultyEasy
Reading time10 min
Views5.1K

Когда-то давным-давно (почти десять лет назад) мне пришлось писать довольно много статей для разных компаний, которые впервые выходили на Хабр. Среди них были совсем небольшие стартапы, IT-компании побольше, международные корпорации, и все они хотели одного: написать статью, которую все прочитают, запомнят и к которой читатели непременно вернутся. Практически утопия. Идея найти формулу идеальной статьи сродни попыткам отыскать философский камень: вроде все компоненты есть, рецептура есть, но всегда чего-то не хватает. И кажется, что на Хабре волшебную формулу ищут многие. Кто-то пишет статью с самым высоким рейтингом, кого-то добавляют в закладки сотни пользователей, кто-то — мастер вызывать аудиторию на обсуждение и собирает буквально бесконечные ветки комментариев. А если автор опытный, то он периодически миксует суперспособности своих публикаций.

В самом начале июля мы выкатили статистику публикаций для всех авторов Хабра: теперь каждый может не только оценивать рейтинг и просмотры, но и видеть, как именно его статью читают, в какой момент уходят и сколько пользователей решают покинуть страницу почти сразу. Это классная опорная статистика, которая позволяет понять, что нравится аудитории и исходя из этого скорректировать подачу контента. Июль закончился, статистика поднакопилась, мы решили попробовать собрать компоненты успешной статьи и разобраться, как же написать «ту самую» звёздную статью. А заодно посмотреть, что и как писали лучшие авторы месяца.

Читать далее
Total votes 37: ↑32 and ↓5+54
Comments38

From Zero to Hero: определите ваш уровень решения LeetCode задач от 1 до 5

Reading time8 min
Views64K

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

А какой у вас уровень?

Читать далее
Total votes 21: ↑16 and ↓5+16
Comments25

От управления блокчейн-токенами к офф-чейнам: как работает автоматизация смарт-контрактов

Level of difficultyMedium
Reading time17 min
Views1.5K

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

Читать далее
Total votes 12: ↑10 and ↓2+13
Comments0

Побитовые операции: для чего нужны основы информатики Solidity-разработчику

Reading time10 min
Views5.8K

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

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

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

Читать далее
Total votes 9: ↑9 and ↓0+11
Comments2

ethers.js – оптимизация запросов JSON-RPC

Level of difficultyMedium
Reading time6 min
Views2K

ethers.js – TypeScript библиотека для доступа к EVM блокчейнам. Я использую ее в своих проектах, и другими авторами по ней уже написаны хорошие статьи на хабре (основы, отправка транзакций). В этой же статье хочу поделиться опытом оптимизации запросов ethers js при работе с различными облачными провайдерами JSON-RPC (Alchemy, Infura) и своей нодой. Расскажу о случаях, когда приложение может просто перестать работать, и что с этим делать. Приведу прикидки производительности.

Читать далее
Total votes 3: ↑2 and ↓1+3
Comments8

Transient storage в EVM (EIP-1153): на грани добра и зла

Reading time18 min
Views675

В одной из статей о расчете газа в Ethereum (ссылка) я рассказал об истории изменений механизмов подсчета газа для хранилища смарт-контракта (storage) — от правил, заложенных в протоколе изначально, до EIP-3529. Во всех этих изменениях прослеживается основная проблема: нерациональное использование газа, когда слот хранилища смарт-контракта изменяется в ходе транзакции и затем возвращается к исходному значению, например, при блокировке функции для защиты от атак reentrancy. Иными словами, в ситуациях, когда постоянное хранилище используется как временное, а также в случаях необходимости безопасной передачи данных между фреймами вызовов.

В этой статье рассмотрим нововведение хард-форка Dencun (Cancun-Deneb), где в рамках обновления слоя выполнения был представлен EIP-1153: Transient storage opcodes, предлагающий решение этой проблемы за счет введения двух новых опкодов (TSTORE, TLOAD) и создания нового типа памяти в EVM - transient storage.

Читать далее
Total votes 8: ↑8 and ↓0+9
Comments0

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

Level of difficultyHard
Reading time18 min
Views1.7K

Привет всем! В прошлой статье мы с вами изучили общую механику расчета газа при выполнении транзакций. В этой статье мы сфокусируемся на самых «дорогих» операциях работы с хранилищем смарт‑контракта (storage), а также пройдемся по истории EIPs, связанных с расчетом газа в Ethereum, чтобы увидеть, по каким принципам сообщество принимало решения об изменениях «правил игры» и как сегодня, на основе этой истории, правильно выполнять такие расчеты.

Статья для тех, кто хочет разобраться почему слоты в storage бывают теплыми и холодными, грязными или свежими и за что возвращают газ. Также затронем списки доступа и intrinsic gas. Наконец увидим полную картину учета газа от инициализации транзакции до ее выполнения.

Читать далее
Total votes 12: ↑12 and ↓0+12
Comments1

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

Level of difficultyHard
Reading time17 min
Views2.8K

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

Читать далее
Total votes 10: ↑10 and ↓0+10
Comments0

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

Level of difficultyEasy
Reading time11 min
Views7K

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

Читать далее
Total votes 16: ↑13 and ↓3+12
Comments2

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

Level of difficultyEasy
Reading time10 min
Views2.9K

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

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

Под кат
Total votes 10: ↑10 and ↓0+10
Comments7

Как двухлетний репозиторий на GitHub стал трендовым за 48 часов

Reading time8 min
Views41K


GitHub предоставил возможность миллионам разработчиков с легкостью публиковать свои проекты и тем самым привлекать пользователей и единомышленников. Часто перед разработчиками возникает проблема неэффективного использования ресурсов — они тратят сотни часов на создание проекта с целью продвинуть его на GitHub, а получают максимум две звезды.
Читать дальше →
Total votes 88: ↑74 and ↓14+60
Comments37

Использование диаграммы вариантов использования UML при проектировании программного обеспечения

Reading time10 min
Views370K

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

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

Читать далее
Total votes 8: ↑6 and ↓2+9
Comments10

Программирование DeFi: Uniswap. Часть 1

Reading time14 min
Views25K

Лучший способ научиться чему-то - научить других. Второй лучший способ научиться чему-то - сделать это самому. Я решил объединить эти два способа и научить себя и вас программировать DeFi сервисы на Ethereum (и любых других блокчейнах, основанных на EVM - Ethereum Virtual Machine).

Мы сосредоточимся на том, как работают эти сервисы, попытаемся понять экономическую механику, которая делает их такими, какие они есть (а все они основаны на экономической механике). Мы будем выяснять, разбирать, изучать и создавать основные механизмы DeFi.

Давайте начнем наше путешествие с Uniswap!

Читать далее
Total votes 4: ↑4 and ↓0+4
Comments6

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

Level of difficultyMedium
Reading time7 min
Views2.8K

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

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

Читать далее
Total votes 24: ↑19 and ↓5+19
Comments1

Information

Rating
5,070-th
Location
Томск, Томская обл., Россия
Date of birth
Registered
Activity

Specialization

Web3 разработчик
Middle
Solidity
Ethereum
BlockChain