Автоматическая метамаска «Подтвердить транзакцию»

У меня есть веб-приложение, и когда я отправляю транзакцию, мне нужно одобрить этот tx, нажав «Принять» в Metamask. Я хотел бы реализовать автоматическое некликабельное подтверждение. Является ли это возможным? Как? (безопасность в данном случае не важна)

Ответы (1)

Привет, я не совсем уверен, что понял вопрос, но я постараюсь ответить на него...

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

Если вы все еще хотите реализовать автоматический не кликабельный ответ для пользователей, которые отправляют эфир/токены другими способами, не связанными с Metamask... тогда вам придется использовать events . События автоматически определяют, когда пользователь отправляет средства, и могут дать ему ответ, который вы закодировали. *Ответ также появится у тех, кто отправил средства через Metamask.

ОБНОВЛЕНИЕ : вы не можете изменить поведение метамаски с помощью кода в Dapp. Metamask в данном случае является третьей стороной, которая не имеет ничего общего с вашим децентрализованным приложением.

Итак... Можно ли избежать этой кликабельной операции с событиями? Нет.

Мой вопрос связан с частью событий. Например, в pet-shop-tutorial , когда кто-то хочет усыновить домашнее животное, необходимо подтвердить, что вы хотите отправить этот tx через Metamask, чтобы завершить операцию. Можно ли избежать этой кликабельной операции с событиями? @YulePale
@sapiensapiens Я обновил ответ в соответствии с вашим комментарием.
Я думаю, что грязный обходной путь заключается в том, чтобы избегать использования Metamask и реализовать свой собственный кошелек, который может создать новый адрес кошелька или импортировать уже принадлежащие пользователям кошельки с зашифрованным ключом json/private.
Есть ли тому пример? спасибо @Ричард Фу
Не уверен, хороший это пример или нет, но мы также разрабатываем кошелек Unity, который не поддерживает Metamask, поэтому мы создали его с использованием библиотеки Nethereum , которая предоставляет все необходимые функции, такие как создание кошелька, отправка транзакций, вызов смарт-контракта и т. д . , Я думаю, есть также много примеров на языке, который вы предпочитаете.