Новые сообщения в профилях


⛵
Ладожский тест‑драйв: приключение на Кошкинском фарватере!


С 29 по 31 мая в живописном загородном яхт-клубе «Кошкинский фарватер» уже в четвёртый раз прошло главное весеннее событие для любителей активного отдыха на воде — «Ладожский тест-драйв».

Ладожский тест‑драйв»- незабываемое событие для всех любителей яхтинга!
🌊
🧭


Это отличная возможность:
испытать ходовые качества разных яхт в реальных условиях Ладоги;
отработать манёвры на сложном участке фарватера;
обменяться опытом с единомышленниками;
насладиться красотой ладожских пейзажей и свежим ветром больших вод.

На мероприятии были представлены различные модели катеров от нескольких производителей: «Триера», Vboats, KFboats, Albakore, Searene Yachts, СПЭВ, Victory, Berkut, River Brothers, «Салют», КАЗ «Север» и многие другие

На территория яхт-клуба : веревочный парк, конный клуб, спортивные и детские площадки, а также была представлена уникальная возможность покататься на досках SUP!

В Ладожском тест-драйве приняли участие катер "Великолепный" и Алексей Баронов и катер "Хемуль" от компании "Невская судоверфь"

Спасибо всем, кто стал частью этого события. До новых встреч на воде!
💙


📍
Место: Кошкинский фарватер, Ладожское озеро
🛥
Формат: тест‑драйвы яхт, практические тренировки, обмен опытом, неформальное общение у костра.


Indite написал в профиле ВЕЛИКОЛЕПНЫЙ.
При бронировании прогулки через сервис Indite https://indite.dev/dbtech-ecommerce/1/,
Зарегистрированный пользователь повышается в правах до уровня Indite Premium, что позволяет участвовать в реферальной программе, получая 20% от последующих заказов рефералов.

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

TechnoLab

visibility
22 Дек 2019
indite.ru
getblock_web3_Статья_GetBlock_о_разработке_приложений



В конце 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 в боковой панели, чтобы скомпилировать код.
LmHv4-ke2ehAs68gzE9zEmFGk3_APKzGvsbGIM0SfZq8avH9HjsMhccplZHSA9ShXP_TEdb0j_peJuKfNrVH-LReIkzr9XG9_sZSXAiBwFrD5JpbA4t8czzg4--nUxxDtKzaI1FnOUMVyBpeWhctHLs

Код ERC-721 в Remix. Данные: GetBlock.

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

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

Добавление RPC-ссылки в MetaMask. Данные: GetBlock.

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


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

EpeBwBCgBedFOWkSFga-mDQMMrAgVA-BmETm5sdxEa1eJcH2UtIf4HKpQMARRmuahp-ZAPmCaAXvAIAOhzkeHerR3qg5q1Cw5ZJvy9KpNHP5EfL-_nLNTAu3J6VLtRGDXoOyj-BXNDNHYUoHLsr9W2I

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

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


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

Выводы​


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


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