代币符号:DC 总量10亿枚 合约地址0x103c99fdac3e05ab354a3d59db235e535759a64c 价格查询地址 https://www.dextools.io/app/cn/arbitrum/pair-explorer/0x403132b7cca09f904d7e14602c260f3035f23c08
https://www.dextools.io/app/cn/arbitrum/pair-explorer/0xd57b0012596c744dfea5a613c027bca9ff953689
交易地址(arbitrum网络)

// SPDX-License-Identifier: MIT pragma solidity ^0.8.0;
contract TokenERC20 { string public name; string public symbol; uint8 public decimals = 18; uint256 public totalSupply;
address public owner;
mapping(address => uint256) public balanceOf;
mapping(address => mapping(address => uint256)) public allowance;
event Transfer(address indexed from, address indexed to, uint256 value);
event Approval(address indexed tokenOwner, address indexed spender, uint256 value);
event Burn(address indexed from, uint256 value);
constructor(uint256 initialSupply, string memory tokenName, string memory tokenSymbol) {
totalSupply = initialSupply * 10 ** uint256(decimals);
balanceOf[msg.sender] = totalSupply;
name = tokenName;
symbol = tokenSymbol;
owner = msg.sender;
}
modifier onlyOwner() {
require(msg.sender == owner, "Only owner can call this function");
_;
}
function _transfer(address _from, address _to, uint _value) internal {
require(_to != address(0), "Cannot transfer to the zero address");
require(balanceOf[_from] >= _value, "Insufficient balance");
balanceOf[_from] -= _value;
balanceOf[_to] += _value;
emit Transfer(_from, _to, _value);
}
function transfer(address _to, uint256 _value) public returns (bool) {
_transfer(msg.sender, _to, _value);
return true;
}
function transferFrom(address _from, address _to, uint256 _value) public returns (bool) {
require(_value <= allowance[_from][msg.sender], "Transfer amount exceeds allowance");
allowance[_from][msg.sender] -= _value;
_transfer(_from, _to, _value);
return true;
}
function approve(address _spender, uint256 _value) public returns (bool) {
allowance[msg.sender][_spender] = _value;
emit Approval(msg.sender, _spender, _value);
return true;
}
function burn(uint256 _value) public onlyOwner returns (bool) {
require(balanceOf[msg.sender] >= _value, "Insufficient balance to burn");
balanceOf[msg.sender] -= _value;
totalSupply -= _value;
emit Burn(msg.sender, _value);
return true;
}
function burnFrom(address _from, uint256 _value) public onlyOwner returns (bool) {
require(balanceOf[_from] >= _value, "Insufficient balance to burn");
require(_value <= allowance[_from][msg.sender], "Burn amount exceeds allowance");
balanceOf[_from] -= _value;
allowance[_from][msg.sender] -= _value;
totalSupply -= _value;
emit Burn(_from, _value);
return true;
}
}





https://arbiscan.io/address/0x103c99fdac3e05ab354a3d59db235e535759a64c#code



