Представляем Aergo Connect API

Paul Grau (UX & Frontend инженер из компании Blocko) опубликовал статью о Aergo Connect API.

Приводим здесь перевод данной статьи:

Представляем Aergo Connect API

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

Введение

В настоящее время Aergo Connect является единственным официально поддерживаемым графическим кошельком для управления собственными счетами Aergo. Он поддерживает основные варианты использования для держателей токенов, но больше ничего не может сделать.
Несмотря на то, что долгосрочное UX Aergo видение заключается в том, что кошельки не нужны конечным пользователям dapp или, по крайней мере, не требуют дополнительной установки программного обеспечения, сейчас нам нужен простой способ, позволяющий разработчикам создавать и тестировать веб-приложения, как официальные, так и сторонние. Многие пользователи уже знакомы с всплывающими окнами запросов в стиле метамаски, поэтому мы собираемся предложить их. introductAergoAPI

Когда вы нажимаете «Голосовать» на голосованиях на aergo.io, Aergo Connect открывается и просит вас подтвердить транзакцию.

Особенности API

Через API веб-сайты могут отправлять запросы на разрешение Aergo Connect. После подтверждения пользователя результат отправляется обратно на сайт. В настоящее время поддерживаются следующие четыре основных сообщения:
-Получить адрес аккаунта
-Подписать сообщение
-Подписать транзакцию
-Отправить транзакцию

Вы можете найти полную документацию здесь: https://github.com/aergoio/wallet-extension/blob/master/API.md

Вопросы конфиденциальности, безопасности и удобства использования

Открытие программного обеспечения с помощью API требует тщательного рассмотрения для обеспечения безопасности и конфиденциальности. На протяжении многих лет мы следили за развитием событий в сообществе Эфириум и применили полученный опыт.
Что касается конфиденциальности, важно не пропускать какую-либо информацию без явного согласия пользователя. Ранние версии Metamask внедряли информацию в каждый посещенный вами веб-сайт, что позволяло проводить дактилоскопию/fingerprinting и целенаправленные попытки фишинга. Aergo Connect использует протокол, который предоставляет информацию веб-сайтам только после явного взаимодействия с пользователем. Мы многому научились из связанных обсуждений, касающихся EIP1102.

API открывает расширение для любого веб-сайта, поэтому должен быть безопасный способ связывания двух сторон. Мы достигаем разъединенной связи между веб-сайтом и расширением с помощью сообщений и событий браузера. Очень легкий контентный скрипт внедряется в каждую страницу, которая ничего не делает, только получает сообщения и передает их на расширение. По завершении запроса событие передается обратно на сайт. Это гарантирует, что веб-сайт никогда не сможет получить прямой доступ к данным, хранящимся в Aergo Connect.

Когда dapp просит пользователей подписать транзакцию, важно уметь понимать, что именно вы подписываете. Это большое преимущество платформы Aergo. В Ethereum данные вызовов по контракту в транзакциях используют схему упакованного кодирования, которая не доступна для чтения человеком. Это привело к EIP, таким как «хеширование и подпись типизированных структурированных данных». С другой стороны, в Aergo эти данные выражаются в виде объектов JSON, которые гораздо более удобны для пользователя и могут отображаться в удобочитаемой форме в кошельке. Мы рекомендуем разработчикам предоставлять данные о вызовах, используя поле payload_json, чтобы они могли хорошо отображаться в Aergo Connect.

Что этот API не делает

В отличие от Metamask, мы решили не вводить полнофункциональных поставщиков узлов и клиентов Herajs по ряду причин.

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

Приложения Metamask часто используют Infura в качестве поставщика RPC блокчейна по умолчанию, но на самом деле это должно быть осознанное решение разработчиков (и пользователей), а не то, что управляется кошельком. Aergo предоставляет собственный подобный Infura сервис (общедоступный GRPC API на mainnet-api.aergo.io), но разработчики должны знать об ограничениях. Предприятия могут захотеть использовать собственные полные узлы для доступа к API.

Как было указано в нашей предыдущей статье, мы предполагаем, что продукты для конечных пользователей, построенные на Aergo, предназначены для самостоятельного управления кошельками и узлами, а не для того, чтобы пользователи устанавливали внешнее программное обеспечение. Aergo предлагает SDK с возможностями кошелька (Javascript, Java), поэтому управление ключами легко выполнить самостоятельно. Он может сочетаться с аппаратными кошельками (например, Samsung Keystore) или решениями для идентификации уровня 2, такими как кошельки Burner или контракты об идентификации / прокси (которые мы в Aergo также исследуем в данный момент).

Мы хотим побудить разработчиков dapp учитывать эти аспекты и сделать приложения автономными, не полагаясь на дополнительное программное обеспечение. Но если вам нужно что-то, что работает сейчас, например, для быстрой демонстрации или приложения, предназначенного для продвинутых пользователей, которые хорошо разбираются в технологии блокчейна, Aergo Connect API — хороший выбор.

Вывод

С помощью Aergo Connect API мы предлагаем простой способ запрашивать разрешения у пользователя через Aergo Connect безопасным и сохраняющим конфиденциальность способом.
Вы можете увидеть его в действии на новой странице голосования Aergo: https://voting.aego.io
Установите Aergo Connect, чтобы управлять своей ставкой и голосовать в этом приложении. У нас также есть полное пошаговое руководство по его использованию.

 

 

 


Опубликовано

в

от

Метки:

Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *