Разработка смарт-контрактов в Ethereum. Тимур Машнин. Читать онлайн. Newlib. NEWLIB.NET

Автор: Тимур Машнин
Издательство: Автор
Серия:
Жанр произведения: Справочники
Год издания: 2022
isbn:
Скачать книгу
включает в себя суб-валюты, финансовые деривативы, контракты хеджирования, сберегательные кошельки, и т. д.

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

      Наконец, существуют такие приложения, как онлайн-голосование, которые не являются финансовыми.

      Контракт сам по себе не является децентрализованным приложением.

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

      При этом интерфейс реализован как веб-страница HTML/CSS/JS со специальным Javascript API в виде библиотеки web3.js для работы с блок-цепочкой Ethereum.

      Под капотом эта библиотека связывается с локальным узлом через вызовы remote procedure call RPC.

      И такое приложение будет работать только в клиенте Ethereum, а не в обычном веб-браузере.

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

      Одноранговый распределенный протокол для обмена сообщениями получил название whisper.

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

      Одноранговый протокол для обмена статическими файлами получил название swarm.

      Whisper – это одноранговый протокол для конфиденциального обмена сообщениями с коротким сроком жизни.

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

      Swarm представляет собой мотивированный файлообмен.

      Файлы делятся на части, хранящиеся на узлах сети.

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

      Solidity Remix

      Solidity – это высокоуровневый язык для виртуальной машины Ethereum с синтаксисом, похожим на JavaScript.

      Программы на языке Solidity транслируются в байткод виртуальной машины Ethereum.

      Для разработки смарт контрактов и изучения языка Solidity рекомендуется использовать среду разработки Remix.

      Remix – это среда IDE для языка программирования Solidity, которая имеет встроенный отладчик и среду тестирования.

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

      Вместе с Mist или любым инструментом, который использует библиотеку web3, Remix можно использовать для тестирования и отладки децентрализованного приложения.

      Доступна онлайн версия среды Remix.

      Также можно установить локальную версию среды