Transaction Hash:
Block:
5399129 at Apr-07-2018 08:16:16 PM +UTC
Transaction Fee:
0.00007337 ETH
$0.15
Gas Used:
36,685 Gas / 2 Gwei
Emitted Events:
| 33 |
MyToken.Transfer( from=[Sender] 0xfa7c186d113a75050efc4db54592e2024da4e7bd, to=0x2B5634C42055806a59e9107ED44D43c426E58258, value=8799999 )
|
Account State Difference:
| Address | Before | After | State Difference | ||
|---|---|---|---|---|---|
| 0x039B5649...0100Ee1ab | |||||
|
0xcC16E3c0...786dfE610
Miner
| 4,857.866909618367543055 Eth | 4,857.866982988367543055 Eth | 0.00007337 | ||
| 0xFa7c186D...24Da4E7bD |
0.02 Eth
Nonce: 1
|
0.01992663 Eth
Nonce: 2
| 0.00007337 |
Execution Trace
MyToken.transfer( _to=0x2B5634C42055806a59e9107ED44D43c426E58258, _value=8799999 )
transfer[MyToken (ln:49)]
_transfer[MyToken (ln:50)]Transfer[MyToken (ln:43)]
pragma solidity ^0.4.13;
contract MyToken {
/* Public variables of the token */
string public name;
string public symbol;
uint8 public decimals;
uint256 public totalSupply;
/* This creates an array with all balances */
mapping (address => uint256) public balanceOf;
mapping (address => mapping (address => uint256)) public allowance;
/* This generates a public event on the blockchain that will notify clients */
event Transfer(address indexed from, address indexed to, uint256 value);
/* This notifies clients about the amount burnt */
event Burn(address indexed from, uint256 value);
/* Initializes contract with initial supply tokens to the creator of the contract */
function MyToken(
uint256 initialSupply,
string tokenName,
uint8 decimalUnits,
string tokenSymbol
) {
balanceOf[msg.sender] = initialSupply; // Give the creator all initial tokens
totalSupply = initialSupply; // Update total supply
name = tokenName; // Set the name for display purposes
symbol = tokenSymbol; // Set the symbol for display purposes
decimals = decimalUnits; // Amount of decimals for display purposes
}
/* Internal transfer, only can be called by this contract */
function _transfer(address _from, address _to, uint _value) internal {
require (_to != 0x0); // Prevent transfer to 0x0 address. Use burn() instead
require (balanceOf[_from] > _value); // Check if the sender has enough
require (balanceOf[_to] + _value > balanceOf[_to]); // Check for overflows
balanceOf[_from] -= _value; // Subtract from the sender
balanceOf[_to] += _value; // Add the same to the recipient
Transfer(_from, _to, _value);
}
/// @notice Send `_value` tokens to `_to` from your account
/// @param _to The address of the recipient
/// @param _value the amount to send
function transfer(address _to, uint256 _value) {
_transfer(msg.sender, _to, _value);
}
/// @notice Remove `_value` tokens from the system irreversibly
/// @param _value the amount of money to burn
function burn(uint256 _value) 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;
}
}