Transaction Hash:
Block:
8931985 at Nov-14-2019 10:36:33 AM +UTC
Transaction Fee:
0.000209952 ETH
$0.44
Gas Used:
51,840 Gas / 4.05 Gwei
Emitted Events:
| 177 |
FXX_contract.Transfer( _from=[Sender] 0x2781b80780979fb45678952137f68802fafd4429, _to=0x1c290D7A2613557bCC552A5c11eeAfC83720a267, _value=1920000000000000000 )
|
Account State Difference:
| Address | Before | After | State Difference | ||
|---|---|---|---|---|---|
| 0x13f6534d...10467F68E | |||||
| 0x2781b807...2FafD4429 |
45.74916314082729051 Eth
Nonce: 34687
|
45.74895318882729051 Eth
Nonce: 34688
| 0.000209952 | ||
|
0xb2930B35...e543a0347
Miner
| (MiningPoolHub: Old Address) | 8,922.65508939824705641 Eth | 8,922.65529935024705641 Eth | 0.000209952 |
Execution Trace
FXX_contract.transfer( _to=0x1c290D7A2613557bCC552A5c11eeAfC83720a267, _value=1920000000000000000 ) => ( success=True )
transfer[FXX_contract (ln:30)]
Transfer[FXX_contract (ln:37)]
pragma solidity ^0.5.2;
contract ERC20Interface {
string public name;
string public symbol;
uint8 public decimals;
uint public totalSupply;
function transfer(address _to, uint256 _value) public returns (bool success);
function transferFrom(address _from, address _to, uint256 _value) public returns (bool success);
function approve(address _spender, uint256 _value) public returns (bool success);
function allowance(address _owner, address _spender) public view returns (uint256 remaining);
event Transfer(address indexed _from, address indexed _to, uint256 _value);
event Approval(address indexed _owner, address indexed _spender, uint256 _value);
}
contract FXX_contract is ERC20Interface {
mapping (address => uint256) public balanceOf;
mapping (address => mapping (address => uint256) ) internal allowed;
constructor() public {
name = "Mation Chain";
symbol = "Main";
decimals = 18;
// 发币10亿,再加小数位4个0。
totalSupply = 1000000000000000000000000000;
balanceOf[msg.sender] = totalSupply;
}
function transfer(address _to, uint256 _value) public returns (bool success){
require(_to != address(0));
require(balanceOf[msg.sender] >= _value);
require(balanceOf[_to] + _value >= balanceOf[_to]);
balanceOf[msg.sender] -= _value;
balanceOf[_to] += _value;
emit Transfer(msg.sender, _to, _value);
success = true;
}
function transferFrom(address _from, address _to, uint256 _value) public returns (bool success){
require(_to != address(0));
require(balanceOf[_from] >= _value);
require(allowed[_from][msg.sender] >= _value);
require(balanceOf[_to] + _value >= balanceOf[_to]);
balanceOf[_from] -= _value;
balanceOf[_to] += _value;
allowed[_from][msg.sender] -= _value;
emit Transfer(_from, _to, _value);
success = true;
}
function approve(address _spender, uint256 _value) public returns (bool success){
require((_value == 0)||(allowed[msg.sender][_spender] == 0));
allowed[msg.sender][_spender] = _value;
emit Approval(msg.sender, _spender, _value);
success = true;
}
function allowance(address _owner, address _spender) public view returns (uint256 remaining){
return allowed[_owner][_spender];
}
}