Уничтожение токенов, объясните, пожалуйста?

Не могу понять по какому принципу работает данный код?
Правильно ли я понимаю что если пользователь сам хочет сжечь токены то вызывается burnFrom?
А в каком случае burn?

function burn(uint256 _value) public returns (bool success) {
        require(balanceOf[msg.sender] >= _value);   // Check if the sender has enough
        balanceOf[msg.sender] -= _value;            // Subtract from the sender
        totalSupply -= _value;                      // Updates totalSupply
        emit Burn(msg.sender, _value);
        return true;
    }

    /**
     * Destroy tokens from other account
     *
     * Remove `_value` tokens from the system irreversibly on behalf of `_from`.
     *
     * @param _from the address of the sender
     * @param _value the amount of money to burn
     */
    function burnFrom(address _from, uint256 _value) public returns (bool success) {
        require(balanceOf[_from] >= _value);                // Check if the targeted balance is enough
        require(_value <= allowance[_from][msg.sender]);    // Check allowance
        balanceOf[_from] -= _value;                         // Subtract from the targeted balance
        allowance[_from][msg.sender] -= _value;             // Subtract from the sender's allowance
        totalSupply -= _value;                              // Update totalSupply
        emit Burn(_from, _value);
        return true;
    }
  • Вопрос задан
  • 246 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Iv_and_S
насколько я понимаю.
burn - сжечь свои токены.msg.sender
burnFrom - сжечь токены определенного адреса address _from

вызывать эти методы, может по всей вероятности, только владелец контракта.
это же из ERC-20 контракта.
https://github.com/ethereum/ethereum-org/blob/mast...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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