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

Solidity *

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

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

EVM opcodes: перестанем бояться байт-код

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

Привет, Хабр! 

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

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

Новости

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

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

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

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

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

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

Обзор блокчейна TRON

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

Если хотите больше познакомиться со мной, как автором приглашаю в свой телеграмм канала - https://t.me/InfinityProductive

TRON (TRX)
- это не просто еще один блокчейн на рынке криптовалют. Это целая экосистема, направленная на децентрализацию цифрового контента. Созданный Джастином Саном в 2017 году, TRON превратился в настоящую фабрику децентрализованных приложений (DApps), которая работает круглосуточно и без перерывов.

С поглощением BitTorrent, TRON стал чем-то вроде сверхмагната контента, привлекая под свои знамена миллионы пользователей. И если это был бы сериал, то захват BitTorrent можно было бы назвать кульминационным моментом сезона.

В сети TRON токен TRX служит не просто валютой, но и билетом в мир где транзакции и смарт-контракты проходят без заминок. Это как VIP-пропуск в эксклюзивный клуб, где все токены (TRC-10, TRC-20 и другие) живут в гармонии.

Читать далее
Всего голосов 16: ↑3.5 и ↓12.5-9
Комментарии11

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

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

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

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

Истории

Цифровые подписи в Ethereum: как с ними работать?

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

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

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

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

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

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

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

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

Формальная верификация смарт-контрактов во фреймворке ConCert

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

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

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

Upgradeable smart contracts. 5 способов обновить код смарт-контрактов на все случаи жизни

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

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

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

Стейкинг NFT: как это работает?

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

Все знают про стейкинг обычных ERC-20 токенов. А что с ERC-721? Вокруг стейкинга NFT уже давно ходят противоречивые мнения, и мы решили разобраться в этом с точки зрения технологии. Поговорим о том, как это работает: как организовать на смарт-контрактах, как рассчитываются вознаграждения и какую пользу это может принести проектам и держателям NFT.

Добро пожаловать в технический гид по стейкингу NFT!

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

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

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

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

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

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

Как создать свой DAO с блэкджеком и OpenZeppelin?

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

Продолжаем тему DAO. Раннее мы уже разбирали саму концепцию, а теперь пора делать своё решение!

Разберём по косточкам смарт-контракты короля Web3 библиотек — OpenZeppelin. Они прошли всевозможные аудиты и считаются эталоном безопасности. Умение использовать governance смарт-контракты от OpenZeppelin пригодится на реальных проектах.

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

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

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

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

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

Погнали!:)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Что такое DAO?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Привет, Хабр! Меня зовут Рома Ярлыков, я разрабатываю смарт-контракты на 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 мин
Количество просмотров875

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

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

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