170 похожих чатов

Немного оффтопа. Хочу спросить по эфириуму у кодеров, которые работали

с блокчейном.

Смотрите. Что бы взаимодействовать с смарт-контрактом необходимо использовать web3(это пример), для того что бы вызывать те или иные функции контракта. Без таких инструментов обычный юзер может разве что просто слать эфир на кошельки.

Это реализуемо к примеру на сайте используя метамаск. Юзер нажимает кнопку на сайте, web3 формирует транзакцию и вызов функции контракта. Юзеру остаётся только подтвердить(подписать) транзакцию в метамаске, нажав ещё одну кнопку. Готово, взаимодействие с контрактом произведено. Такой вариант выглядит логично.

А если я пишу бота в любую соцсеть? Или десктоп/мобайл эпп?
Там нет никакого метамаска который отвечает за подпись. Юзер выбирает действие, web3 формирует транзакцию, но не может подписать пока не имеет на руках секретный ключ от кошелька юзера.
Варианты:
1. Юзер обязан сообщить свой ключ приложению. Но это рушит парадигму блокчейна. Что если юзер не доверяет сервису?
2. Сервис сам создает юзеру кошелёк. Но тогда каждый эпп, каждая биржа, каждый магазин будет выдавать кошельки. Более того, юзеру теперь нужно скинуть ту сумму, которую он готов потратить, на кошелек сервиса, а потом с этого кошелька совершить оплату или взаимодействие с контрактом.

Я всё верно понимаю? В таком случае выходит что каждый сервис сам себе банк, он выдаёт свои(!) кошельки и ждёт что их будут юзать. И получается что десктоп-эпп я не могу написать не порождая кошельков для каждого юзера или не заставляя сообщить мне ключ. Может я упустил что-то?

1 ответов

8 просмотров

ну все примерно так, поэтому, если возможно, стоит впиливать поддержу metamask/ledger/trezor кстати 1 вариант отстой

Похожие вопросы

Обсуждают сегодня

А чем вам питонисты не угодили?😂
.
79
Язык Си можно выучить за день? По книжке ANSI C на 230 страниц
Vincent Vegan
29
Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
75
Есть какой-нибудь для Delphi/FPC T*Compression(Decompression)Stream на базе LZ4/Zstd/любой другой быстрый(и хорошо сжимающий) алгоритм А ещё лучше в pure pascal А ещё лучше од...
notme
13
Dim Dim, [02.07.2024 11:07] DB 0x62 Dim Dim, [02.07.2024 11:07] DB 0x66 Dim Dim, [02.07.2024 11:07] кто пояснит что это?
Dim Dim
14
Ошибка: segmentation fault (core dumped) Код: pastebin.com/BEsNNSSV Сообщение от компилятора: отсутствует ОС: Arch Linux Ядро: x86_64 Linux 6.9.7-arch1-1 Процессор: Intel Cele...
sec
4
Ещё такой вопрос. Мне необходимо хранить пароль пользователя локально. Для этого планирую использовать ini файл. Это для автозаполнения полей логин и пароль при авторизации. Е...
Евгений
19
Ребят, а за скок можно впарить анон чат с апишкой и веб админкой ?
Eugene Неелов
15
Кстати, я тут еще с одной темой столкнулся, вот учу я C++, на таком то ресурсе, а остальные постоянно советуют практиковаться, что то писать, проекты, но как писать если вот т...
aaswq1
7
А как лучше конвертировать физический адрес в виртуальный при маппинге? В случае ядра у меня, например, direct mapping, первые 768МБ я как есть мапплю в higher half, а остальн...
Evg Resh
26
Карта сайта