🔗 Ссылки
- andriishupta/polkadot-extension-dapp-example | Гитхаб
- polkadot-extension-dapp-пример | Развернуто на Верселе
- Документы расширения
- Субкошелек
- ПолькаСтих | Гитхаб
- Подсказки | Гитхаб
- 🌴 Мои ссылки
📰 Опубликовано
🤓 Интро
Разработчику важно понимать различия между различными блокчейн-платформами, чтобы выбрать ту, которая соответствует вашим потребностям. Одним из ключевых отличий (как по мне) является наличие технических ресурсов и туториалов для разработчиков. У Ethereum есть много статей и руководств, демонстрирующих, как подключить кошелек к веб-сайту, тогда как о Polkadot информации меньше. Это может облегчить разработчикам, которые плохо знакомы с Ethereum, начать работу и научиться создавать приложения на платформе.
Разработчикам также важно знать Polkadot и то, как работать на его платформе, поскольку он обладает уникальными функциями и потенциальными приложениями.
Опыт разработчиков, помимо документации, очень важен в настоящее время для сообщества web3.
В этой статье я покажу пример того, как подключить SubWallet (это то, что я использовал) к сайту Next.js.
Технологии
В Ethereum у нас есть web3.js и ethers.js для подключения к веб-сайту и множество различных библиотек, построенных на их основе. Например, многие проекты, которые я видел, используют wagmi с React.js. Это просто благословение, так как включает в себя полный список функций, которые вам нужны для взаимодействия с блокчейном: Подключить кошелек отображать ENS и информацию о балансах, подписывать сообщения, взаимодействовать с контрактами и многое другое — все с кэшированием, дедупликация запросов и постоянство.
У Polkadot есть готовые библиотеки и инструменты для работы с блокчейном, и одним из них является @polkadot/extension-dapp
. Это то, что мы будем использовать для «Подключения кошелька».
🧑💻 Кодирование
Мы будем использовать приложение Next.js по умолчанию, поэтому здесь нет ничего нового. Ознакомьтесь с разделом Начало работы, чтобы напомнить себе о Next.js.
Наиболее важным моментом с @polkadot/extension-dapp
является то, что для запуска требуется браузер, поэтому с Next.js нам нужно отображать кнопку Подключиться только во время рендеринга на стороне клиента. Для этого воспользуемся динамическим импортом.
На домашней странице мы динамически загружаем наш компонент Connect
. Соедините компоненты, где все волшебство происходит.
Начнем с импорта:
InjectedAccountWithMeta
— это тип учетной записи, которую мы получим. Я импортировал его для TypeScript.
Наше основное внимание здесь сосредоточено на web3Enable
и web3Accounts
.
Я использовал цепочку промисов ниже, но если вы предпочитаете try-catch
+ async / await
- сделайте это!
web3Enable
Первоначальная функция заключается в вызове даже для проверки того, есть ли в нашем браузере какие-либо кошельки для работы. В случае, если нам не с чем работать, расширение показывает это в консоли, и мы также должны выдать ошибку, чтобы показать пользователю, что он должен использовать браузер с валидным кошельком.
web3Accounts
То же самое с web3Accounts
— он будет загружать подключенные учетные записи или предлагать вам подключиться к веб-сайту, если вы откроете его в первый раз — очень знакомый опыт для пользователей web3.
Вы можете опробовать процесс на polkadot-extension-dapp-example | Развернуто на Vercel, и выглядит это так:
Отказ от ответственности: я пробовал только при наличии 1 кошелька, но для простого примера этого должно быть достаточно.
🧑🏫 Следующие шаги и другие примеры
С подключенным кошельком и доступной учетной записью вы можете делать все, что хотите: проверить, как создать и подписать транзакцию, показать <Identicon/>
и многое другое:
Более зрелый пример использования @polkadot/api
, @polkadot/ui-keyring
и других — PolkaVerse. Это децентрализованная социальная сеть, построенная на Subsocial — Блокчейне для социальных финансов.
Кроме того, у меня есть еще один проект, в котором я пытался использовать Subsocial API — сырой-сырой-сырой, потому что мне было удобно подключиться к Subsocial API и Polkadot, чтобы узнать, как все работает. Не стесняйтесь проверить это: https://github.com/andriishupta/subtips-app
Спасибо за прочтение! 🙇
Первоначально опубликовано на https://blog.andriishupta.dev.