Title: Работа с ETH и токенами ERC20 Post by: zuart on July 22, 2018, 12:37:09 PM Приветствую сообщество.
Тут решили тотализатор небольшой накатать для токенов ETH/ERC20, уперлись в стенку - тупняк какой-то... Суть задачи: вести один основной кошелек со всеми поступающими средствами пользователь при регистрации получает персональный адрес для токенов (приватные ключи фиксируются в БД, юзер их не получает) все, что юзеры переводят собирается на основном кошельке (балансы фиксируются в БД и все операции с балансом происходят в БД) вывод в случае необходимости выполняется с основного адреса Пытаемся разобраться с принципами работы с нодой ETH через WEB3 и уперлись в пару моментов: насколько поняли суть сети, можно сделать перевод с адреса1 на адрес2, но так, чтобы "газ" снимать именно с адреса2 с токенами ERC20 (не ETH) можно тоже делать так же, но через контракты, которыми токены и создавались И вот тут полный затуп - как это сделать с помощью WEB3JS, крайне нужны работающие примеры кода для ETH и любого ERC20-токена, которые реализуют логику "перевод токенов с адреса-1 на адрес-2 и оплатой транзакции газом с адреса-2". Будем крайне признательны за подсказку. Title: Re: Работа с ETH и токенами ERC20 Post by: Snasey on July 23, 2018, 01:32:59 PM На мой взгляд это одна из ключевых болей эфира, в связи с которой его не активно юзает реальный бизнес.
Сделать так, что бы комиссию в газе оплатил кошелек2, в то время как отправитель кошелек1 - нельзя. (совсем) Я делал для заказчика довольно похожий проект, мы решали это костылем: при запросе перевода на сайте, бэкенд дергал web3 и переводил с админского кошелька эфир ровно на одну транзакцию на кошелек1, далее эта транзакция уже совершалась с данного кошелька. Title: Re: Работа с ETH и токенами ERC20 Post by: zuart on July 24, 2018, 08:37:38 AM На мой взгляд это одна из ключевых болей эфира, в связи с которой его не активно юзает реальный бизнес. Сделать так, что бы комиссию в газе оплатил кошелек2, в то время как отправитель кошелек1 - нельзя. (совсем) Я делал для заказчика довольно похожий проект, мы решали это костылем: при запросе перевода на сайте, бэкенд дергал web3 и переводил с админского кошелька эфир ровно на одну транзакцию на кошелек1, далее эта транзакция уже совершалась с данного кошелька. Вот как =( видимо, мы не верно поняли возможности сети. Жаль, я бы даже сказал очень, т.к. если для перевода токенов с пользовательского кошелька на основной нужно сначала на это пользовательский кошелек перекидывать eth для оплаты газа - не очень радостная перспектива. Можете тогда пнуть хотя бы в рабочий пример перевода ETH с одного аккаунта на другой, ибо те, что мы пробовали, ни один не сработал через WEB3 JS Title: Re: Работа с ETH и токенами ERC20 Post by: zuart on July 24, 2018, 01:55:07 PM Попытались несколькими способами реализовать перевод ETH - все безуспешно, все способы, которые пробовали, возвращают хеш транзакции, но дальше дело не идет, в сеть транза не выходит, баланс не меняется. Единственный способ, который хоть что-то еще выдает, публикую ниже с подробными вставками данных отладки:
Code: var desc = '0xed32e0fd016810B7d3606e1Ae163B58266c544B0'; Абсолютно непонятно, с чего такая ошибка, тут банальная математика: Code: 10000000000000000 - вывод |