ETH Price: $3,246.26 (+1.89%)
Gas: 1.43 Gwei
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer111822552020-11-03 5:18:111550 days ago1604380691IN
0x192389e6...2a73e01b9
0 ETH0.0019432348
Transfer111367402020-10-27 5:39:541557 days ago1603777194IN
0x192389e6...2a73e01b9
0 ETH0.0005349121
Transfer111367272020-10-27 5:37:001557 days ago1603777020IN
0x192389e6...2a73e01b9
0 ETH0.0009984918.00000145
Transfer109374282020-09-26 9:28:111587 days ago1601112491IN
0x192389e6...2a73e01b9
0 ETH0.0026306865
Transfer109372532020-09-26 8:45:491587 days ago1601109949IN
0x192389e6...2a73e01b9
0 ETH0.003161957.00000145
Transfer109365112020-09-26 6:02:211588 days ago1601100141IN
0x192389e6...2a73e01b9
0 ETH0.0040503373.00000145
Transfer107174042020-08-23 15:27:031621 days ago1598196423IN
0x192389e6...2a73e01b9
0 ETH0.0035636488

Advanced mode:
Parent Transaction Hash Block
From
To
View All Internal Transactions
Loading...
Loading

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0xbcf17818...96B484B05
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
TokenERC20

Compiler Version
v0.4.19+commit.c4cbbb05

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, GNU GPLv2 license
/**
 *Submitted for verification at Etherscan.io on 2020-08-23
*/

pragma solidity ^0.4.19;
interface tokenRecipient { function receiveApproval(address _from, uint256 _value, address _token, bytes _extraData) public; }
contract TokenERC20 {
	string public name;
	string public symbol;
	uint8 public decimals = 18;
	uint256 public totalSupply;

	// 用mapping保存每个地址对应的余额
	mapping (address => uint256) public balanceOf;
	// 存储对账号的控制
	mapping (address => mapping (address => uint256)) public allowance;
	// 事件,用来通知客户端交易发生
	event Transfer(address indexed from, address indexed to, uint256 value);
	// 事件,用来通知客户端代币被消费
	event Burn(address indexed from, uint256 value);
	
	/*
	*初始化构造
	*/
	function TokenERC20(uint256 initialSupply, string tokenName, string tokenSymbol) public {
		totalSupply = initialSupply * 10 ** uint256(decimals);  // 供应的份额,份额跟最小的代币单位有关,份额 = 币
		balanceOf[msg.sender] = totalSupply;                // 创建者拥有所有的代币
		name = tokenName;                                   // 代币名称
		symbol = tokenSymbol;                               // 代币符号
}

	//代币交易转移的内部实现
	function _transfer(address _from, address _to, uint _value) internal {
		// 确保目标地址不为0x0,因为0x0地址代表销毁
		require(_to != 0x0);
		// 检查发送者余额
		require(balanceOf[_from] >= _value);
		// 确保转移为正数个
		require(balanceOf[_to] + _value > balanceOf[_to]);
		
		// 以下用来检查交易,
		uint previousBalances = balanceOf[_from] + balanceOf[_to];
		// Subtract from the sender
		balanceOf[_from] -= _value;
		
		// Add the same to the recipient
		balanceOf[_to] += _value;
		Transfer(_from, _to, _value);
		
		// 用assert来检查代码逻辑。
		assert(balanceOf[_from] + balanceOf[_to] == previousBalances);
}

	/*****
	**代币交易转移
	**从自己(创建交易者)账号发送`_value`个代币到 `_to`账号
	**@param _to 接收者地址
	**@param _value 转移数额
	**/
	function transfer(address _to, uint256 _value) public {
		_transfer(msg.sender, _to, _value);
	 }
	 
	 /*****
	**账号之间代币交易转移
	**@param _from 发送者地址
	**@param _to 接收者地址
	**@param _value 转移数额
	**/
	function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) {
		require(_value <= allowance[_from][msg.sender]);     // Check allowance
		allowance[_from][msg.sender] -= _value;
		_transfer(_from, _to, _value);
		return true;
	}
	 /*****
	**设置某个地址(合约)可以创建交易者名义花费的代币数
	**允许发送者`_spender` 花费不多于 `_value` 个代币
	**@param _spender The address authorized to spend
	**@param _value the max amount they can spend
	**/
	function approve(address _spender, uint256 _value) public
		returns (bool success) {
		allowance[msg.sender][_spender] = _value;
		return true;
	}
	/*****
	**设置允许一个地址(合约)以我(创建交易者)的名义可最多花费的代币数
	**@param _spender 被授权的地址(合约)
	**@param _value 最大可花费代币数
	**@param _extraData 发送给合约的附加数据
	**/
	function approveAndCall(address _spender, uint256 _value, bytes _extraData)
	 public
	 returns (bool success) {
	 tokenRecipient spender = tokenRecipient(_spender);
	 if (approve(_spender, _value)) {
		// 通知合约
		spender.receiveApproval(msg.sender, _value, this, _extraData);
		return true;
		}
	 }
	///销毁我(创建交易者)账户中指定个代币
	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
		Burn(msg.sender, _value);
		return true;
	}
	/*****
	**销毁用户账户中指定个代币
	**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
		Burn(_from, _value);
		return true;
	}
}






pragma solidity ^0.4.19;
 
contract Token {
    /// token总量,默认会为public变量生成一个getter函数接口,名称为totalSupply().
    uint256 public totalSupply;
 
    /// 获取账户_owner拥有token的数量
    function balanceOf(address _owner) constant returns (uint256 balance);
 
    //从消息发送者账户中往_to账户转数量为_value的token
    function transfer(address _to, uint256 _value) returns (bool success);
 
    //从账户_from中往账户_to转数量为_value的token,与approve方法配合使用
    function transferFrom(address _from, address _to, uint256 _value) returns  (bool success);
 
    //消息发送账户设置账户_spender能从发送账户中转出数量为_value的token
    function approve(address _spender, uint256 _value) returns (bool success);
 
    //获取账户_spender可以从账户_owner中转出token的数量
    function allowance(address _owner, address _spender) constant returns  (uint256 remaining);
 
    //发生转账时必须要触发的事件 
    event Transfer(address indexed _from, address indexed _to, uint256 _value);
 
    //当函数approve(address _spender, uint256 _value)成功执行时必须触发的事件
    event Approval(address indexed _owner, address indexed _spender, uint256 _value);
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"burn","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_value","type":"uint256"}],"name":"burnFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"},{"name":"_extraData","type":"bytes"}],"name":"approveAndCall","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"initialSupply","type":"uint256"},{"name":"tokenName","type":"string"},{"name":"tokenSymbol","type":"string"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Burn","type":"event"}]

Deployed Bytecode

0x6060604052600436106100b95763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146100be578063095ea7b31461014857806318160ddd1461017e57806323b872dd146101a3578063313ce567146101cb57806342966c68146101f457806370a082311461020a57806379cc67901461022957806395d89b411461024b578063a9059cbb1461025e578063cae9ca5114610282578063dd62ed3e146102e7575b600080fd5b34156100c957600080fd5b6100d161030c565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561010d5780820151838201526020016100f5565b50505050905090810190601f16801561013a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561015357600080fd5b61016a600160a060020a03600435166024356103aa565b604051901515815260200160405180910390f35b341561018957600080fd5b6101916103da565b60405190815260200160405180910390f35b34156101ae57600080fd5b61016a600160a060020a03600435811690602435166044356103e0565b34156101d657600080fd5b6101de610457565b60405160ff909116815260200160405180910390f35b34156101ff57600080fd5b61016a600435610460565b341561021557600080fd5b610191600160a060020a03600435166104eb565b341561023457600080fd5b61016a600160a060020a03600435166024356104fd565b341561025657600080fd5b6100d16105d9565b341561026957600080fd5b610280600160a060020a0360043516602435610644565b005b341561028d57600080fd5b61016a60048035600160a060020a03169060248035919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284375094965061065395505050505050565b34156102f257600080fd5b610191600160a060020a0360043581169060243516610785565b60008054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156103a25780601f10610377576101008083540402835291602001916103a2565b820191906000526020600020905b81548152906001019060200180831161038557829003601f168201915b505050505081565b600160a060020a033381166000908152600560209081526040808320938616835292905220819055600192915050565b60035481565b600160a060020a0380841660009081526005602090815260408083203390941683529290529081205482111561041557600080fd5b600160a060020a038085166000908152600560209081526040808320339094168352929052208054839003905561044d8484846107a2565b5060019392505050565b60025460ff1681565b600160a060020a0333166000908152600460205260408120548290101561048657600080fd5b600160a060020a03331660008181526004602052604090819020805485900390556003805485900390557fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca59084905190815260200160405180910390a2506001919050565b60046020526000908152604090205481565b600160a060020a0382166000908152600460205260408120548290101561052357600080fd5b600160a060020a038084166000908152600560209081526040808320339094168352929052205482111561055657600080fd5b600160a060020a038084166000818152600460209081526040808320805488900390556005825280832033909516835293905282902080548590039055600380548590039055907fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca59084905190815260200160405180910390a250600192915050565b60018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156103a25780601f10610377576101008083540402835291602001916103a2565b61064f3383836107a2565b5050565b60008361066081856103aa565b1561077d5780600160a060020a0316638f4ffcb1338630876040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018085600160a060020a0316600160a060020a0316815260200184815260200183600160a060020a0316600160a060020a0316815260200180602001828103825283818151815260200191508051906020019080838360005b838110156107165780820151838201526020016106fe565b50505050905090810190601f1680156107435780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b151561076457600080fd5b6102c65a03f1151561077557600080fd5b505050600191505b509392505050565b600560209081526000928352604080842090915290825290205481565b6000600160a060020a03831615156107b957600080fd5b600160a060020a038416600090815260046020526040902054829010156107df57600080fd5b600160a060020a0383166000908152600460205260409020548281011161080557600080fd5b50600160a060020a0380831660008181526004602052604080822080549488168084528284208054888103909155938590528154870190915591909301927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a3600160a060020a038084166000908152600460205260408082205492871682529020540181146108a257fe5b505050505600a165627a7a72305820ef85f000da522babf272c54c0f9a825b337aaef85042c9846d336a0f8d66228e0029

Deployed Bytecode Sourcemap

154:4662:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;178:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;71:3;;;64:6;52:2;45:3;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2896:150:0;;;;;;;;;;-1:-1:-1;;;;;2896:150:0;;;;;;;;;;;;;;;;;;;;;;;;254:26;;;;;;;;;;;;;;;;;;;;;;;;;;;2363:269;;;;;;;;;;-1:-1:-1;;;;;2363:269:0;;;;;;;;;;;;224:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3692:336;;;;;;;;;;;;;;335:45;;;;;;;;;;-1:-1:-1;;;;;335:45:0;;;;;4252:561;;;;;;;;;;-1:-1:-1;;;;;4252:561:0;;;;;;;200:20;;;;;;;;;;;;2111:99;;;;;;;;;;-1:-1:-1;;;;;2111:99:0;;;;;;;;;3315:314;;;;;;;;;;;;;-1:-1:-1;;;;;3315:314:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3315:314:0;;-1:-1:-1;3315:314:0;;-1:-1:-1;;;;;;3315:314:0;414:66;;;;;;;;;;-1:-1:-1;;;;;414:66:0;;;;;;;;;;178:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2896:150::-;-1:-1:-1;;;;;2995:10:0;2985:21;;2966:12;2985:21;;;:9;:21;;;;;;;;:31;;;;;;;;;:40;;;3037:4;2896:150;;;;:::o;254:26::-;;;;:::o;2363:269::-;-1:-1:-1;;;;;2482:16:0;;;2445:12;2482:16;;;:9;:16;;;;;;;;2499:10;2482:28;;;;;;;;;;;;2472:38;;;2464:47;;;;;;-1:-1:-1;;;;;2539:16:0;;;;;;;:9;:16;;;;;;;;2556:10;2539:28;;;;;;;;;:38;;;;;;;2582:29;2549:5;2599:3;2571:6;2582:9;:29::i;:::-;-1:-1:-1;2623:4:0;2363:269;;;;;:::o;224:26::-;;;;;;:::o;3692:336::-;-1:-1:-1;;;;;3775:10:0;3765:21;3738:12;3765:21;;;:9;:21;;;;;;:31;;;;3757:40;;;;;;-1:-1:-1;;;;;3848:10:0;3838:21;;;;;:9;:21;;;;;;;:31;;;;;;;3913:11;:21;;;;;;;3983:24;;3863:6;;3983:24;;;;;;;;;;;;;-1:-1:-1;4019:4:0;3692:336;;;:::o;335:45::-;;;;;;;;;;;;;:::o;4252:561::-;-1:-1:-1;;;;;4344:16:0;;4317:12;4344:16;;;:9;:16;;;;;;:26;;;;4336:35;;;;;;-1:-1:-1;;;;;4452:16:0;;;;;;;:9;:16;;;;;;;;4469:10;4452:28;;;;;;;;;;4442:38;;;4434:47;;;;;;-1:-1:-1;;;;;4508:16:0;;;;;;;:9;:16;;;;;;;;:26;;;;;;;4601:9;:16;;;;;4618:10;4601:28;;;;;;;;;;;:38;;;;;;;4696:11;:21;;;;;;;4508:16;4773:19;;4528:6;;4773:19;;;;;;;;;;;;;-1:-1:-1;4804:4:0;4252:561;;;;:::o;200:20::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2111:99;2170:34;2180:10;2192:3;2197:6;2170:9;:34::i;:::-;2111:99;;:::o;3315:314::-;3413:12;3472:8;3490:25;3472:8;3508:6;3490:7;:25::i;:::-;3486:138;;;3541:7;-1:-1:-1;;;;;3541:23:0;;3565:10;3577:6;3585:4;3591:10;3541:61;;;;;;;;;;;;;-1:-1:-1;;;;;3541:61:0;-1:-1:-1;;;;;3541:61:0;;;;;;;;;;;-1:-1:-1;;;;;3541:61:0;-1:-1:-1;;;;;3541:61:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;71:3;;;64:6;52:2;45:3;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3614:4:0;3607:11;;3486:138;3315:314;;;;;;:::o;414:66::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;1239:688::-;1592:21;-1:-1:-1;;;;;1385:10:0;;;;1377:19;;;;;;-1:-1:-1;;;;;1437:16:0;;;;;;:9;:16;;;;;;:26;;;;1429:35;;;;;;-1:-1:-1;;;;;1534:14:0;;;;;;:9;:14;;;;;;1508:23;;;:40;1500:49;;;;;;-1:-1:-1;;;;;;1635:14:0;;;;;;;:9;:14;;;;;;;;1616:16;;;;;;;;;;;1685:26;;;;;;1756:14;;;;:24;;;;;;;1616:33;;;;;1785:28;;1705:6;;1785:28;;;;;;;;;;;;;-1:-1:-1;;;;;1888:14:0;;;;;;;:9;:14;;;;;;;1869:16;;;;;;;;:33;:53;;1862:61;;;;1239:688;;;;:::o

Swarm Source

bzzr://ef85f000da522babf272c54c0f9a825b337aaef85042c9846d336a0f8d66228e

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.