Deploy Base Minimal Tokens Exercise

สำหรับใครที่ทำ Base Camp มาถึงข้อ 11 แล้วให้ใช้ code ดังต่อไปนี้เพื่อผ่านเควสนะครับcopy ไปแปะได้เลย อย่าลืม compiler ก่อน Deploy นะครับ

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

contract UnburnableToken {
    mapping(address => uint256) public balances;
    uint256 public totalSupply;
    uint256 public totalClaimed;

    error TokensClaimed();
    error AllTokensClaimed();
    error UnsafeTransfer(address addr);

    constructor() {
        totalSupply = 100000000;
    }

    function claim() public {
        if (totalClaimed >= totalSupply) {
            revert AllTokensClaimed();
        }

        if (balances[msg.sender] > 0) {
            revert TokensClaimed();
        }

        balances[msg.sender] = 1000;
        totalClaimed += 1000;
    }

    function safeTransfer(address _to, uint256 _amount) public {
        if (_to == address(0)) {
            revert UnsafeTransfer(_to);
        }

        if (address(_to).balance == 0) {
            revert UnsafeTransfer(_to);
        }

        if (balances[msg.sender] < _amount) {
            revert UnsafeTransfer(_to);
        }

        balances[msg.sender] -= _amount;
        balances[_to] += _amount;
    }
}

จากนั้นไป verify + claim 👇👇👇

https://docs.base.org/base-camp/docs/minimal-tokens/minimal-tokens-exercise

จะได้ NFT

Minimal Tokens NFT Badge Earned on Base Sepolia!

post image