Ethernaut

【Ethernaut】05 – Token ERC20 代幣溢出財富自由 SafeMath 算術溢出

【Ethernaut】05 – Token ERC20 代幣溢出財富自由 SafeMath 算術溢出

文章目錄

  1. 題目
  2. 解法

1.題目

Token

這一關可以幫助你了解算術溢出的安全性問題。
// SPDX-License-Identifier: MIT
pragma solidity ^0.6.0;

contract Token {

  mapping(address => uint) balances;
  uint public totalSupply;

  constructor(uint _initialSupply) public {
    balances[msg.sender] = totalSupply = _initialSupply;
  }

  function transfer(address _to, uint _value) public returns (bool) {
    require(balances[msg.sender] - _value >= 0);
    balances[msg.sender] -= _value;
    balances[_to] += _value;
    return true;
  }

  function balanceOf(address _owner) public view returns (uint balance) {
    return balances[_owner];
  }
}

2.解法

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *