Добавить новость
Март 2011
Апрель 2011
Май 2011
Июнь 2011
Июль 2011
Август 2011
Сентябрь 2011
Октябрь 2011
Ноябрь 2011
Декабрь 2011
Январь 2012
Февраль 2012
Март 2012
Апрель 2012
Май 2012
Июнь 2012
Июль 2012
Август 2012
Сентябрь 2012
Октябрь 2012
Ноябрь 2012
Декабрь 2012
Январь 2013
Февраль 2013
Март 2013
Апрель 2013
Май 2013
Июнь 2013
Июль 2013
Август 2013
Сентябрь 2013
Октябрь 2013
Ноябрь 2013
Декабрь 2013
Январь 2014
Февраль 2014
Март 2014
Апрель 2014
Май 2014
Июнь 2014
Июль 2014
Август 2014
Сентябрь 2014
Октябрь 2014
Ноябрь 2014
Декабрь 2014
Январь 2015
Февраль 2015
Март 2015
Апрель 2015
Май 2015
Июнь 2015
Июль 2015
Август 2015
Сентябрь 2015
Октябрь 2015
Ноябрь 2015
Декабрь 2015
Январь 2016
Февраль 2016
Март 2016
Апрель 2016
Май 2016
Июнь 2016
Июль 2016
Август 2016
Сентябрь 2016
Октябрь 2016
Ноябрь 2016
Декабрь 2016
Январь 2017
Февраль 2017
Март 2017
Апрель 2017
Май 2017
Июнь 2017
Июль 2017
Август 2017
Сентябрь 2017
Октябрь 2017
Ноябрь 2017
Декабрь 2017
Январь 2018
Февраль 2018
Март 2018
Апрель 2018
Май 2018
Июнь 2018
Июль 2018
Август 2018
Сентябрь 2018
Октябрь 2018
Ноябрь 2018 Декабрь 2018 Январь 2019 Февраль 2019 Март 2019 Апрель 2019 Май 2019 Июнь 2019 Июль 2019 Август 2019 Сентябрь 2019 Октябрь 2019 Ноябрь 2019 Декабрь 2019 Январь 2020 Февраль 2020 Март 2020 Апрель 2020 Май 2020 Июнь 2020 Июль 2020 Август 2020 Сентябрь 2020 Октябрь 2020 Ноябрь 2020 Декабрь 2020 Январь 2021 Февраль 2021 Март 2021 Апрель 2021 Май 2021 Июнь 2021 Июль 2021 Август 2021 Сентябрь 2021 Октябрь 2021 Ноябрь 2021 Декабрь 2021 Январь 2022 Февраль 2022 Март 2022 Апрель 2022 Май 2022 Июнь 2022 Июль 2022 Август 2022 Сентябрь 2022 Октябрь 2022 Ноябрь 2022 Декабрь 2022 Январь 2023 Февраль 2023 Март 2023 Апрель 2023 Май 2023 Июнь 2023 Июль 2023 Август 2023 Сентябрь 2023 Октябрь 2023 Ноябрь 2023 Декабрь 2023 Январь 2024 Февраль 2024 Март 2024 Апрель 2024 Май 2024 Июнь 2024 Июль 2024 Август 2024 Сентябрь 2024 Октябрь 2024 Ноябрь 2024 Декабрь 2024 Январь 2025 Февраль 2025 Март 2025 Апрель 2025 Май 2025 Июнь 2025 Июль 2025 Август 2025 Сентябрь 2025 Октябрь 2025 Ноябрь 2025 Декабрь 2025 Январь 2026 Февраль 2026 Март 2026 Апрель 2026 Май 2026
1 2 3 4 5 6 7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31

Поиск города

Ничего не найдено

С чего начать разработку Web3-приложений в 2024 году ― рассказывает GetBlock

0 131

В конце 2023 года венчурная компания Andreessen Horowitz опубликовала список «больших идей» в криптоиндустрии. Эксперты выделили рестарт UX при создании криптовалютных приложений, а также развитие модульного технологического стека в Web3-разработке.

Вместе с провайдером RPC-нод GetBlock рассказываем о том, что необходимо знать и уметь Web3-инженеру в 2024 году.

Технологический стек Web3-разработчика

Технологический стек ― набор технологий, инструментов и языков программирования для создания ПО. Например, MEAN (MongoDB, Express.js, AngularJS/Angular, Node.js) и MERN (MongoDB, Express.js, React, Node.js) ― популярные стеки веб-разработчиков.

В Web3 можно выделить четыре основных компонента:

  • библиотеки. С их помощью создают приложения, которые работают в блокчейне или обращаются к нему;
  • смарт-контракты. Неизменяемый код, работающий внутри сети;
  • кошельки. Адрес является идентификатором пользователя или смарт-контракта, а также хранилищем криптовалют и токенов;
  • ноды. Хранят копию блокчейна. Без нод Web3-библиотека не сможет взаимодействовать со смарт-контрактами.

Для работы с ними предназначены следующие инструменты:

  • GetBlock ― провайдер, предоставляющий связь с нодами; Remix ― IDE для тестирования, развертывания и исполнения смарт-контрактов в браузере;
  • Hardhat ― локальная среда разработки на Ethereum. Она позволяет развертывать приложения и смарт-контракты в тестнетах Mumbai и Goerli и основной сети Ethereum;
  • MetaMask ― браузерный Web3-кошелек. Разработчики используют его для тестирования и развертывания dapps, пользователи ― для хранения криптоактивов и взаимодействия с Web3;
  • Etherscan ― обозреватель Ethereum, показывающий статус транзакций и детали смарт-контракта.

Для создания Web3-приложений также понадобится знание языков JavaScript и Solidity.

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

Провайдеры нод

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

Например, чтобы Алиса отправила Бобу 1 ETH, кошелек должен проверить, сколько денег у обоих до отправки, удостовериться в авторизации транзакции Алисой и валидности кошелька Боба, а потом «сказать» блокчейну, что балансы изменились.

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

Это довольно трудоемкий процесс, требующий постоянной поддержки работоспособности инфраструктуры (мониторинг, установка, обновление). Поэтому часто Web3-разработчики обращаются к провайдерам RPC-нод. Последние предоставляют доступ к узлу через API. Адрес ноды (URL эндпоинта) вписывается в код приложения, которое и шлет на нее запросы.

«RPC-ноды также запускают команды блокчейнов, чтобы наращивать аудиторию. Но их публичные RPC-ноды перегружены и непригодны для коммерческой разработки. Такие узлы можно использовать скорее в исследовательских целях», ― указывают в GetBlock.

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

«Первым популярным RPC-провайдером стала Infura, предоставляя доступ к нодам Ethereum и EVM-совместимым сетям. 

GetBlock ― платформа нового поколения. Мы поддерживаем более 50 блокчейнов. Если команда строит мультивалютный обменник, она может подключиться к биткоину, Ethereum, Tron и другим сетям через один сервис», ― комментирует команда проекта.

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

«GetBlock предоставляет доступ к общим (shared) и выделенным (dedicated) нодам. Последняя опция предполагает развертывание узла строго под задачи клиента, максимальную скорость и аптайм. Она ориентирована на проекты с солидным трафиком или перспективами масштабирования. Для быстрого ответа RPC-ноды мы используем серверы в Европе, Азии и США.  

Общие ноды ― решение для обычных пользователей. Они делят инфраструктуру с другими, но также получают высокоскоростной доступ. Можно выбрать как тарифы с лимитом запросов (от 5 млн запросов к блокчейну), так и безлимитные тарифы на месяц, полгода или год», ― утверждают в GetBlock.

Начинающим Web3-разработчикам GetBlock предлагает бесплатный доступ с лимитом в 40 000 запросов в сутки. Цены на платные тарифы начинаются с $29.

Web3-библиотеки

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

Web3.js ― популярная библиотека для работы с Ethereum, созданная в 2015 году. Многие проекты используют ее для подключения смарт-контрактов к внешнему коду на JavaScript, выполнения транзакций и получения данных о блокчейне.

Библиотека состоит из нескольких модулей:

  • eth ― помогает установить соединение с тестнетами и мейннетом Ethereum, управлять транзакциями, конструировать контракты Solidity и взаимодействовать с ними;
  • shh ― выполняет обмен информацией между dapps;
  • utils ― форматирует и конвертирует данные;
  • bzz ― позволяет использовать Swarm в качестве децентрализованной системы хранения данных.

«Полный список функций Web3.js огромен. Она очень популярна благодаря совместимости практически со всеми существующим фреймворками», ― отмечает команда GetBlock.

Библиотеку можно загрузить с помощью менеджера пакетов вроде NPM или YARN, а затем интегрировать в различные консоли.

Ethers.js ― альтернатива Web3.js, выпущенная в 2016 году разработчиком Ричардом Муром. Она предлагает схожий набор функций, но может похвастаться дополнительными возможностями. Среди них:

  • встроенная поддержка системы доменных имен Ethereum Name Service;
  • лицензия MIT позволяет повторно использовать и перерабатывать код практически без ограничений;
  • небольшой размер пакетов предотвращает негативное влияние на производительность фронтенда;
  • использование языка TypeScript повышает безопасность и минимизирует вероятность ошибок и багов.

Библиотека регулярно обновляется и имеет процесс установки, аналогичный Web3.js. Однако, в отличие от последней, Ethers.js не требует полной загрузки пакетов. Это может быть полезно, если вы собираетесь использовать только отдельные модули.

Кошельки

Web3-кошельки нужны для взаимодействия с dapps. Они предоставляют интерфейс для управления криптоактивами с помощью приватных ключей (MetaMask, Phantom) или смарт-контрактов (Safe, Argent).

Как правило, при взаимодействии с блокчейнами некастодиальные кошельки полагаются на RPC-ноды. Так, MetaMask по умолчанию обращается к провайдеру Infura (оба продукта принадлежат компании ConsenSys).

«MetaMask отслеживает IP-адреса и кошельки пользователей, выбравших Infura в качестве RPC-провайдера. Так ConsenSys становится гораздо проще накладывать ограничения на кошелек, что не очень-то согласуется с принципом децентрализованности.

Вы можете в любой момент изменить RPC-провайдера, например на GetBlock. Мы не передаем данные/информацию третьим лицам и предоставляем 40 000 запросов ко всем блокчейнам после регистрации. Этого вполне достаточно для личного пользования», ― отмечают представители провайдера.

В следующем разделе мы рассмотрим, как изменить RPC-провайдера в настройках MetaMask.

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

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

Для создания смарт-контрактов на базе Ethereum и других EVM-совместимых блокчейнов большинство разработчиков пользуются библиотекой OpenZeppelin и IDE Remix, а для доступа к данным блокчейна — услугами провайдеров RPC-нод вроде GetBlock.

Создадим токен стандарта ERC-721 (NFT) в блокчейне Ethereum. Для этого выполните следующие шаги:

  • откройте Contracts Wizard и выберите один из доступных вариантов (в нашем случае ERC-721), введите название токена и тикер;
  • заполните поле Base URI ссылкой на IPFS (хранит метаданные NFT) и укажите свойства актива;
  • нажмите кнопку Open in Remix для переноса контракта в среду разработки. В ней можно прописать дополнительные условия;
  • после внесения изменений в Remix нажмите кнопку Solidity Compiler в боковой панели, чтобы скомпилировать код.
Код ERC-721 в Remix. Данные: GetBlock.

Контракт готов к развертыванию. Протестировать его работу можно в тестнетах Sepolia или Goerli. Для этого:

  • установите GetBlock в качестве провайдера RPC-нод ― создайте аккаунт и получите бесплатный эндпоинт для Sepolia;
  • добавьте сеть в MetaMask, вставив RPC-ссылку.
Добавление RPC-ссылки в MetaMask. Данные: GetBlock.

После этого в боковой панели перейдите в раздел Deploy & Run Transactions и выберите Injected Provider ― MetaMask в поле Environment. Если сеть Sepolia активна в кошельке, она автоматически подключится к Remix.

Убедитесь, что у вас есть ETH на оплату газа. В Sepolia и других тестнетах его можно получить бесплатно с помощью кранов.

Развертывание смарт-контракта в Remix. Данные: GetBlock.

Наконец, нажмите Deploy и подтвердите транзакцию в появившемся расширении MetaMask.

При развертывании в мейннете созданный NFT будет отображаться в аккаунте testnets.opensea.io или на главном сайте OpenSea.

Выводы

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

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





Все города России от А до Я

Загрузка...

Moscow.media

Читайте также

В тренде на этой неделе

Туристический парадокс: Владимирская область теряет россиян, но манит иностранцев

Выдвинут первый кандидат на пост главы города Владимира

На владимирских железнодорожных переездах усилят борьбу с «народными тропами»

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


Загрузка...
Ria.city
Rss.plus


Новости последнего часа со всей страны в непрерывном режиме 24/7 — здесь и сейчас с возможностью самостоятельной быстрой публикации интересных "живых" материалов из Вашего города и региона. Все новости, как они есть — честно, оперативно, без купюр.




Муром на Russian.city


News-Life — паблик новостей в календарном формате на основе технологичной новостной информационно-поисковой системы с элементами искусственного интеллекта, тематического отбора и возможностью мгновенной публикации авторского контента в режиме Free Public. News-Life — ваши новости сегодня и сейчас. Опубликовать свою новость в любом городе и регионе можно мгновенно — здесь.
© News-Life — оперативные новости с мест событий по всей России (ежеминутное обновление, авторский контент, мгновенная публикация) с архивом и поиском по городам и регионам при помощи современных инженерных решений и алгоритмов от NL, с использованием технологических элементов самообучающегося "искусственного интеллекта" при информационной ресурсной поддержке международной веб-группы 103news.com в партнёрстве с сайтом SportsWeek.org и проектами: "Love", News24, Ru24.pro, Russia24.pro и др.