10-минутная ориентация на Ethereum

Цель этого руководства – как можно быстрее погрузиться в Web3, чтобы у вас был контекст и базовые знания, необходимые для начала обучения и разработки..

Почему блокчейн?

Если вы новичок в этой сфере, может быть непонятно, что «децентрализованный Интернет» предлагает разработчику. Думайте о публичном блокчейне, таком как Ethereum, как об определении четкого «состояния» – и источника истины – для всех, кто в нем участвует, доступного для всех, кто подключен к Интернету, системы, которая использует силу протокола с открытым исходным кодом и избыточность одноранговых сетей, чтобы оставаться надежными и безопасными. Вместо того, чтобы требовать от каждого разработчика приложения создавать и поддерживать все состояние своего приложения на частных серверах, многое можно сохранить в общедоступном блокчейне и извлечь из него. Обычный, надежный и безопасный сервер.

Причина, по которой это возможно, заключается в уникальных характеристиках базы данных блокчейна. Он доступен только для записи: там, где обычная база данных может добавлять и удалять записи, данные блокчейна существуют вечно и не могут быть удалены. Сеть узлов поддерживает эту базу данных как «распределенный реестр» и имеет строгие протоколы в отношении того, кто имеет разрешение на запись в данный момент. Одним из интересных аспектов технологии является то, как разрешения на запись распределяются между узлами, которые могут не требовать специального разрешения для присоединения. Если вы создадите свой собственный общедоступный узел Ethereum, у вас будет доступ на запись ко всей сети: при условии, что вы выполнили «доказательство работы», необходимое для предоставления вам права записи узла до того, как это сделает любой другой узел.. 

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

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

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

Смарт-контракты можно использовать для создания программируемых денег. Рассмотрим базовое использование программируемого смарт-контракта для решения ситуации, когда два владельца квартиры хотят разделить арендную плату арендатора 50/50. Обычно либо арендатор должен платить каждому собственнику отдельно, либо платить одному владельцу или агенту, а владелец или агент выплачивает деньги. Хотя в этой ситуации нет особых проблем, рассмотрите безоговорочное доверие, которое требуется от одного человека, чтобы предоставить другому свою долю. Сравните это с простым смарт-контрактом, который программно разделяет любые входящие средства и отправляет их на адрес каждого владельца. Арендатору нужно только отправить арендную плату по этому адресу, и каждый владелец немедленно получит свою долю. Благодаря безопасности и неизменности блокчейна, такого как Ethereum, каждый владелец может быть уверен, что смарт-контракт будет работать так, как он желает, и может проводить аудит его кода.. 

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

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

Решение в поисках проблемы?

Распространенный рефрен критики технологии блокчейн заключается в том, что это решение в поисках проблемы. Можно утверждать, что цифровая валюта была первым приложением-убийцей блокчейнов, а Distributed Finance, или DeFi, становится следующим, полная степень того, как эта технология может быть применена, в настоящее время неизвестна и является одной из основных причин, по которой разработчики в космосе находить захватывающим быть частью. Более десяти лет лазерная технология не имела очевидного применения, пока исследователи, экспериментаторы и предприниматели не смогли применить ее совершенно неожиданным образом. Хотя тот же аргумент можно использовать для любой новой технологии, массовое повсеместное внедрение цифровой валюты и более 350 миллиардов долларов, которые в настоящее время содержатся в распределенных, неуправляемых, децентрализованных блокчейнах, довольно примечательны.. 

Базовая структура распределенного приложения 

Распределенное приложение, как правило, подключается к блокчейну где-то в своем стеке и, вероятно, каким-то образом имеет фундаментальное значение для его работы. Распределенные приложения представляют собой смесь обычных внешних и внутренних систем, которые вы можете найти в веб-приложениях, но будут использовать такую ​​библиотеку, как web3.js, для подключения к сети Ethereum. Некоторые распределенные приложения полностью распределены: живут полностью в распределенных сетях..

На стороне пользователя, Метамаска – популярный плагин, который управляет кошельком Ethereum пользователей. MetaMask предоставляет пользователю интерфейс для подписи транзакций и подтверждения своей «личности»..


Данное распределенное приложение может подключаться к блокчейну Ethereum, а также к кошельку MetaMask пользователя (или другому кошельку) для аутентификации.. 

Взаимодействие с Ethereum 

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

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

Смарт-контракты

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

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

Газ

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

Основная сеть, тестовые сети, другие сети

Основная сеть на языке блокчейн относится к основной активной сети для данного протокола. В случае Ethereum основная сеть – это место, где происходит обмен реальной ценностью, и она считается источником истины. Но любая группа узлов может образовать свою собственную сеть. Тестовые сети служат сообществу разработчиков, предлагая гораздо меньшие сети, в которых Eth и gas бесплатны, поэтому разработчики могут тестировать свои проекты и код без риска. Тестовые сети Ethereum называются Ropsten, Kovan, Rinkeby и Görli..

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

Разработка в Ethereum

Разработка в Ethereum обычно сначала происходит на локальных, домашних блокчейнах. Разработчики могут использовать что-то вроде geth, программное обеспечение командной строки, которое позволяет создавать сети Ethereum. Но это похоже на программирование на языке низкого уровня: упрощая задачу, пакет Truffle удовлетворяет многие потребности разработчиков. Ganache, часть пакета, значительно упрощает разработчикам запуск локальной сети блокчейнов для тестирования своих приложений, предлагая «блокчейн в один клик» для целей разработки вместе с инструментами командной строки. Drizzle помогает с фронтенд-разработкой, а Truffle сам по себе является фреймворком, упрощающим разработку и развертывание смарт-контрактов..

Взаимодействие с самой цепочкой блоков требует использования API (например, web3.js) и доступа к узлу; вместо того, чтобы управлять своими собственными узлами, многие разработчики будут использовать такую ​​услугу, как Инфура как Ethereum API.

Языки смарт-контрактов

В настоящее время самым популярным языком программирования смарт-контрактов является Твердость. Этот javascript-подобный язык довольно легко освоить новым разработчикам, особенно тем, у кого есть опыт веб-программирования.. Ремикс – это онлайн-среда, которая позволяет разработчикам экспериментировать с созданием смарт-контрактов. Есть много важных деталей, которые следует изучить программистам смарт-контрактов, поскольку смарт-контракты в основной сети работают с реальной стоимостью и не подлежат изменению после развертывания (хотя существуют методологии программирования, которые помогают в этом)..

Полный стек

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

Простой стек проектов

Вот типичный набор инструментов разработки, которые вы можете использовать в простом проекте:

НПМ 

Диспетчер пакетов узлов, часть node.js

Трюфельный каркас

Набор инструментов, облегчающих разработку

Ганаш

Из фреймворка Truffle, используемого для запуска частного блокчейна на вашем собственном компьютере.

Метамаска

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

Твердость

Популярный язык программирования для смарт-контрактов

HTML / CSS / JS

Для вашего интерфейса

Web3.js

Библиотека Ethereum API, позволяющая подключаться и взаимодействовать с сетью Ethereum.

Инфура

Служба Ethereum API, которая дает разработчикам доступ к сети Ethereum без необходимости запускать собственный узел

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

    Подключение разработчиков: шаг 1Подключение разработчиков, шаг 1

    Подключение разработчиков: шаг 1

    Подключение разработчиков: шаг 2Подключение разработчиков, шаг 2

    Подключение разработчиков: шаг 2

    Подключение разработчиков: шаг 3Подключение разработчиков, шаг 3

    Подключение разработчиков: шаг 3
Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me
Like this post? Please share to your friends:
Adblock
detector
map