Как стать автором
Обновить

Комментарии 4

а чем плохо:
function () external payable {                                                                                                                                          
        require(!isContract(msg.sender));                                                                                                                                   
        internal_balances[msg.sender] = internal_balances[msg.sender].add(bla bla bla);                                                                               
    } 

?
(в случае токенов какой нибудь метод типа addBalance)

Проблема была в постановке задачи: нужно было каждому пользователю выдать адрес, на которые кто угодно может скинуть средства (токены/эфиры) и они зачислились бы пользователю вне зависимости от отправителя.


У вас же пополняется баланс msg.sender, то есть для отправителя средств, а не того, для кого адрес был сгенерирован изначально


Если же сделать так, что fallback функция пополняет баланс конкретного пользователя, то тогда на каждого пользователя нужен будет свой смарт-контракт.

>адрес, на которые кто угодно может скинуть средства
ага. Мне кажется стоит тогда поправить, в статье:
>Каждому пользователю мы должны предоставить Ethereum-адрес, на который она или он сможет отправлять токены, тем самым пополняя свой аккаунт.
Done! Спасибо.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий