Transaction Hash:
Block:
4948255 at Jan-21-2018 08:29:20 PM +UTC
Transaction Fee:
0.000258105 ETH
$0.53
Gas Used:
51,621 Gas / 5 Gwei
Emitted Events:
| 78 |
MyToken.Transfer( from=[Sender] 0x2b1f67e2946c39cf0fcfc5d51ba491601a04b6ac, to=0xc88a741B11C7cA6bb4A8dBA169702162D5b11C78, value=10000 )
|
Account State Difference:
| Address | Before | After | State Difference | ||
|---|---|---|---|---|---|
| 0x039B5649...0100Ee1ab | |||||
| 0x2B1F67e2...01a04b6Ac |
0.083403857 Eth
Nonce: 51
|
0.083145752 Eth
Nonce: 52
| 0.000258105 | ||
|
0xEA674fdD...16B898ec8
Miner
| (Ethermine) | 678.711817432144360943 Eth | 678.712075537144360943 Eth | 0.000258105 |
Execution Trace
MyToken.transfer( _to=0xc88a741B11C7cA6bb4A8dBA169702162D5b11C78, _value=10000 )
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;
}
}