Как стать автором
Обновить
3.2
Рейтинг

Solidity *

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

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

Руководство по AccessControl от OpenZeppelin

Программирование *Solidity *Криптовалюты
Из песочницы

Сегодня поговорим про такой полезный инструмент как AccessControl от OpenZeppelin, данная библиотека позволит вам регулировать доступ к разного рода функционалу на ваших умных контрактах и не только.

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

Читать далее
Рейтинг 0
Просмотры 213
Комментарии 0

Новости

The Merge, переход эфира на Proof-of-stake: что нас ждет и правда ли это важно?

Solidity *Криптовалюты

Дата "The Merge" приближается, то есть сейчас самое время понять, что же это значит для индустрии в целом и для людей в частности. The Merge — переход эфира с Proof-of-work (PoW) на Proof-of-stake (PoS). Почему это ключевое событие последних лет — разбираемся в этом тексте.

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

Как создать dApp за три шага

Solidity *Распределённые системы *Криптовалюты
Перевод

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

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

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

Что такое гибридный смарт-контракт?

Анализ и проектирование систем *IT-инфраструктура *Solidity *Распределённые системы *
Перевод

Гибридный смарт-контракт — это приложение, состоящее из двух частей:

1) Смарт-контракт — код, который работает исключительно на блокчейне
2) Децентрализованная сеть(и) оракулов — безопасные сервисы вне блокчейн, поддерживающие смарт-контракт.

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

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

Читать далее
Всего голосов 10: ↑2 и ↓8 -6
Просмотры 1.5K
Комментарии 0

Криптография и будущее децентрализованных вычислений

Криптография *Анализ и проектирование систем *IT-инфраструктура *Solidity *Распределённые системы *
Перевод

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

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

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

77+ примеров использования смарт-контрактов

Децентрализованные сети *Open source *Облачные вычисления *Solidity *Распределённые системы *
Перевод

77+ примеров использования смарт-контрактов

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

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

Чтобы преодолеть отсутствие такого связующего звена, гибридные смарт-контракты используют оракулы в качестве посредника для сбора информации из внешних источников данных, предоставления информации во внешние источники, и для вычислений off-chain. Оракулы обеспечивают не только двустороннюю связь между смарт-контрактами и внешним миром,  но и безопасную среду, которая защищает от любого риска единой точки отказа (single point of failure), например, от манипуляции данных или системного сбоя.

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

Что такое решения второго уровня (Layer 2) для блокчейн?

Децентрализованные сети *Анализ и проектирование систем *IT-инфраструктура *Solidity *Распределённые системы *
Из песочницы
Перевод

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

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

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

Читать далее
Всего голосов 14: ↑9 и ↓5 +4
Просмотры 3.3K
Комментарии 2

Overflow

Децентрализованные сети *Информационная безопасность *Solidity *
Recovery mode
Перевод

К переполнению относятся числовые вычисления, результат которых превосходит объём памяти, отведённого для хранения. В Solidity диапазон, который может представлять тип данных uint8, составляет 256 чисел от 0 до 255. Когда тип uint8 используется для вычисления 255 + 1, произойдет переполнение, поэтому результат вычислений будет равен 0, минимальному значению, которое может представлять тип uint8.

Если в контракте есть уязвимость переполнения, фактический результат вычисления может значительно отличаться от ожидаемого результата. Это повлияет на нормальную логику контракта и может привести к потере средств. Однако существуют ограничения версии для уязвимости переполнения. В версиях Solidity <0.8 переполнение не будет сообщать об ошибке, но в версиях >= 0.8 переполнение вызовет ошибку. 

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

Спящий гигант, или Почему Cardano продолжает и выигрывает

Децентрализованные сети *Криптография *Haskell *Solidity *
Recovery mode

Cardano и Ethereum — блокчейны, у которых схожие возможности и они неизбежно подвергаются сравнению друг с другом. Постепенно расстановка сил меняется, и о  Cardano всё чаще говорят как об «убийце Ethereum». Разбираемся в особенностях технологии Cardano, смотрим, есть ли основания для слухов и рассказываем, почему Cardano может стать мощнее, быстрее и доступнее, чем Ethereum или Bitcoin.

Читать далее
Всего голосов 15: ↑8 и ↓7 +1
Просмотры 3.7K
Комментарии 10

Разбираемся с BeaconProxy от OpenZeppelin

Solidity *
Tutorial

Многим из вас, наверное, известно, что в теории, смарт-контракты в EVM-подобных системах, являются неизменяемыми (immutable), но на практике это уже давно не так. И речь даже не о таких свойствах как Pausable, то есть каких-то переменных состояния контракта, которые могут влиять на его работоспособность, а о более серьезных возможностях изменения бизнес-логики контракта. В этой статье я опишу основные приемы и остановлюсь подробнее на одном из них, на BeaconProxy.

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

Почему мы выбрали ERC-721, а не ERC-20 для контракта получателя дивидендов

Solidity *Криптовалюты

Привет! Для меня некоторое время было удивительно, почему некоторые проекты стали выбирать ERC-721 протокол для выплаты дивидентов, неужели это дань моде? Но поразмыслив немного, я, кажется, пришел к пониманию в чем преимущества этого подхода.

В этой статье не будет деталей о самих протоколах, только мои рассуждения об их применении.

Читать далее
Всего голосов 6: ↑2 и ↓4 -2
Просмотры 2K
Комментарии 6

Работа со смарт-контрактами Ethereum с помощью ESP8266

Децентрализованные сети *Solidity *
Из песочницы

В этой статье я расскажу как с помощью микроконтроллера ESP8266 подключиться к приватной Ethereum сети и вызвать смарт-контракт.

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

Безопасное хранение данных IoT в частном блокчейне Ethereum. Часть 3

Разработка для интернета вещей *Solidity *Разработка на Raspberry Pi *IPFS *
Recovery mode
Перевод

Основная задача:

Изучить, как хранить данные IoT на комбинации on-chain (Ethereum Blockchain) и off-chain хранилищ (IPFS и Ethereum Swarm) в зашифрованном виде и использовать их в модели публикации-подписки в режиме реального времени без использования каких-либо протоколов M2M, таких как MQTT или CoAP. Оценить производительность этой системы с точки зрения количества транзакций, которые могут быть выполнены в секунду и оптимизировать ее работу.

Предыдущие части статьи:
Безопасное хранение данных IoT в частном блокчейне Ethereum. Часть 1
Безопасное хранение данных IoT в частном блокчейне Ethereum. Часть 2

В этой части статьи в главе 6 мы проводим эксперименты по хранению данных с использованием традиционных баз данных, а также предложенной системы с использованием Ethereum Blockchain, IPFS и Swarm. Чтобы понять стоимость безопасности IoT, мы проводим эксперименты по оценке производительности предложенной системы.

В главе 7 мы попытаемся обобщить выводы, сделанные в данной статье, и завершим ее ретроспективным обзором 2 измерений производительности этих систем хранения данных вместе с блокчейном.

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

Исследуем потребление газа и распределение памяти в программах Solidity

Программирование *Solidity *Криптовалюты
Tutorial

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

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

Для измерения стоимости вызова функций смарт-контракта, а также для изучения распределения памяти подготовим стенд в виде проекта Hardhat.

Читать далее
Рейтинг 0
Просмотры 1.5K
Комментарии 2

Безопасное хранение данных IoT в частном блокчейне Ethereum. Часть 2

Разработка для интернета вещей *Solidity *Разработка на Raspberry Pi *IPFS *
Recovery mode
Перевод

Напомним про основную задачу:

Изучить, как хранить данные IoT на комбинации on-chain (Ethereum Blockchain) и off-chain хранилищ (IPFS и Ethereum Swarm) в зашифрованном виде и использовать их в модели публикации-подписки в режиме реального времени без использования каких-либо протоколов M2M, таких как MQTT или CoAP. Оценить производительность этой системы с точки зрения количества транзакций, которые могут быть выполнены в секунду и оптимизировать ее работу.

Краткое содержание данной части статьи:

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

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

Читать далее
Всего голосов 4: ↑2 и ↓2 0
Просмотры 2.2K
Комментарии 0

Безопасное хранение данных IoT в частном блокчейне Ethereum. Часть 1

Разработка для интернета вещей *Solidity *IPFS *
Recovery mode
Из песочницы
Перевод

Интернет вещей (IoT) — это набор технологий, которые позволяют подключенным к сети устройствам выполнять действия или обмениваться данными между несколькими подключенными устройствами или с общей базой данных. Действия могут могут быть любыми: от дистанционного включения кондиционера воздуха до включения зажигания автомобиля с помощью команды, поданной из удаленного места, или попросить Alexa или Google Assistant найти информацию о погодных условиях в том или ином районе. IoT доказал свою эффективность во многих отраслях промышленности таких как цепочки поставок, доставка и транспортировка, предоставляя информацию о состоянии грузов в режиме реального времени. Это привело к появлению огромного количества данных, создаваемых множеством таких устройств. которые необходимо обрабатывать в режиме реального времени.

В данной статье мы предлагаем метод сбора информации с датчиков устройств IoT и использования блокчейна для хранения и получения собранных данных для безопасного и децентрализованного хранения и извлечения собранных данных в рамках закрытой системы, подходящей для одного предприятия или группы компаний в таких отраслях как, например, судоходство, где требуется обмен данных друг с другом. Подобно блокчейну, мы представляем себе будущее, в котором устройства IoT смогут подключаться и отключаться к распределенным системам, не вызывая простоя в сборе и хранении данных или не полагаясь на облачные технологии хранения или полагаться на облачную систему хранения для синхронизации данных между устройствами. Мы также рассмотрим производительность некоторых из этих распределенных систем, таких как Inter Planetary File System (IPFS) и Ethereum Swarm на маломощных устройствах, таких как raspberry pi. 

Читать далее
Всего голосов 2: ↑1 и ↓1 0
Просмотры 3.6K
Комментарии 4

Внедрение Blockchain в нефтегазовую отрасль

Децентрализованные сети *Solidity *Интернет вещей Криптовалюты Инженерные системы *
Из песочницы


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

Читать далее
Всего голосов 10: ↑5 и ↓5 0
Просмотры 4K
Комментарии 38

Эзотерическая оптимизация газа в Solidity

Высокая производительность *Алгоритмы *Solidity *Криптовалюты

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

Понять о чем я говорю без базового опыта в solidity будет очень сложно, но может быть эти оптимизации проявят в вас интерес в ethereum программировании.

Читать далее
Всего голосов 12: ↑9 и ↓3 +6
Просмотры 3.3K
Комментарии 4