Transaction Hash:
Block:
4946769 at Jan-21-2018 02:05:11 PM +UTC
Transaction Fee:
0.000896137 ETH
$1.75
Gas Used:
21,857 Gas / 41 Gwei
Emitted Events:
| 36 |
KKToken.Transfer( _from=[Sender] 0xb74ee2d4cff7ae1d6bfecfc87c662b58ae9a4a29, _to=0x94c1e5844cd98ffC95a47FA8315d5B187Ea257FC, _value=9900000000000 )
|
Account State Difference:
| Address | Before | After | State Difference | ||
|---|---|---|---|---|---|
|
0x52bc44d5...b7d7bE3b5
Miner
| (Nanopool) | 11,507.334013668393195225 Eth | 11,507.334909805393195225 Eth | 0.000896137 | |
| 0x54318a37...aaC5a46e8 | |||||
| 0xb74eE2d4...8Ae9A4A29 |
0.009106487 Eth
Nonce: 1
|
0.00821035 Eth
Nonce: 2
| 0.000896137 |
Execution Trace
KKToken.transfer( _to=0x94c1e5844cd98ffC95a47FA8315d5B187Ea257FC, _amount=9900000000000 ) => ( True )
transfer[KKToken (ln:65)]
Transfer[KKToken (ln:72)]
pragma solidity ^0.4.18;
// author: KK Coin team
contract ERC20Standard {
// Get the total token supply
function totalSupply() public constant returns (uint256 _totalSupply);
// Get the account balance of another account with address _owner
function balanceOf(address _owner) public constant returns (uint256 balance);
// Send _value amount of tokens to address _to
function transfer(address _to, uint256 _value) public returns (bool success);
// transfer _value amount of token approved by address _from
function transferFrom(address _from, address _to, uint256 _value) public returns (bool success);
// approve an address with _value amount of tokens
function approve(address _spender, uint256 _value) public returns (bool success);
// get remaining token approved by _owner to _spender
function allowance(address _owner, address _spender) public constant returns (uint256 remaining);
// Triggered when tokens are transferred.
event Transfer(address indexed _from, address indexed _to, uint256 _value);
// Triggered whenever approve(address _spender, uint256 _value) is called.
event Approval(address indexed _owner, address indexed _spender, uint256 _value);
}
contract KKToken is ERC20Standard {
string public constant symbol = "KK";
string public constant name = "KKCOIN";
uint256 public constant decimals = 8;
uint256 public _totalSupply = 10 ** 18; // equal to 10^10 KK
// Owner of this contract
address public owner;
// Balances KK for each account
mapping(address => uint256) private balances;
// Owner of account approves the transfer of an amount to another account
mapping(address => mapping (address => uint256)) private allowed;
/// @dev Constructor
function KKToken() public {
owner = msg.sender;
balances[owner] = _totalSupply;
Transfer(0x0, owner, _totalSupply);
}
/// @return Total supply
function totalSupply() public constant returns (uint256) {
return _totalSupply;
}
/// @return Account balance
function balanceOf(address _addr) public constant returns (uint256) {
return balances[_addr];
}
/// @return Transfer status
function transfer(address _to, uint256 _amount) public returns (bool) {
if ( (balances[msg.sender] >= _amount) &&
(_amount >= 0) &&
(balances[_to] + _amount > balances[_to]) ) {
balances[msg.sender] -= _amount;
balances[_to] += _amount;
Transfer(msg.sender, _to, _amount);
return true;
} else {
return false;
}
}
// Send _value amount of tokens from address _from to address _to
// these standardized APIs for approval:
function transferFrom(address _from, address _to, uint256 _amount) public returns (bool success) {
if (balances[_from] >= _amount
&& allowed[_from][msg.sender] >= _amount
&& _amount > 0
&& balances[_to] + _amount > balances[_to]) {
balances[_from] -= _amount;
allowed[_from][msg.sender] -= _amount;
balances[_to] += _amount;
Transfer(_from, _to, _amount);
return true;
} else {
return false;
}
}
// Allow _spender to withdraw from your account, multiple times, up to the _value amount.
// If this function is called again it overwrites the current allowance with _value.
function approve(address _spender, uint256 _amount) public returns (bool success) {
allowed[msg.sender][_spender] = _amount;
Approval(msg.sender, _spender, _amount);
return true;
}
// get allowance
function allowance(address _owner, address _spender) public constant returns (uint256 remaining) {
return allowed[_owner][_spender];
}
}