Blockwell

ERC20

ERC20

This contract is an ERC20 token.

Name ERC20
Symbol ERC20
Decimals 18
Total Supply 12,999,999,999 ERC20

About link description

ERC20 (ERC20) is a cryptocurrency launched in 2018and operates on the Ethereum platform. ERC20 has a current supply of 12,999,999,994.06 with 1,128,632,512.4217153 in circulation. The last known price of ERC20 is 0.01838296 USD and is up 20.39 over the last 24 hours. It is currently trading on 13 active market(s) with $10,347.13 traded over the last 24 hours. More information can be found at https://erc20.tech.

Identical Contracts

The following contracts have identical source code.

Stats

Public Functions 6
Event Types 2
Code Size 9,811 bytes

Events (2) keyboard_arrow_up

Burn Event

Parameters help
from
address help
value
uint256 help

Transfer Event

Parameters help
from
address help
to
address help
value
uint256 help

name Variable

string help

symbol Variable

string help

decimals Variable

uint8 help

totalSupply Variable

uint256 help

balanceOf Variable

mapping(address => uint256) help

allowance Variable

mapping(address => mapping(address => uint256)) help
Internal Variable

Functions Expand All Collapse All

Parameters help

Name Type
_to
address help
_value
uint256 help

Properties

Visibility help public
Mutability help transaction

Requirements help

Source Code
function transfer(address _to, uint256 _value) public {
  _transfer(msg.sender, _to, _value);
}

Parameters help

Name Type
_from
address help
_to
address help
_value
uint256 help

Properties

Visibility help public
Mutability help transaction

Requirements help

Source Code
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;
}

Parameters help

Name Type
_spender
address help
_value
uint256 help

Properties

Visibility help public
Mutability help transaction
Source Code
function approve(address _spender, uint256 _value)
  public
  returns (bool success)
{
  allowance[msg.sender][_spender] = _value;
  return true;
}

Parameters help

Name Type
_spender
address help
_value
uint256 help
_extraData
bytes help

Properties

Visibility help public
Mutability help transaction
Source Code
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;
  }
}

Parameters help

Name Type
_value
uint256 help

Properties

Visibility help public
Mutability help transaction
Source Code
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;
}

Parameters help

Name Type
_from
address help
_value
uint256 help

Properties

Visibility help public
Mutability help transaction
Source Code
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;
}

Internal Functions Expand All Collapse All

Internal functions are parts of the contract that can't be used directly, but instead are used by the public functions listed above.

internal TokenERC20._transfer keyboard_arrow_up

Parameters help

Name Type
_from
address help
_to
address help
_value
uint help

Properties

Visibility help internal
Mutability help transaction

Requirements help

Source Code
function _transfer(
  address _from,
  address _to,
  uint256 _value
) internal {
  // Prevent transfer to 0x0 address. Use burn() instead
  require(_to != 0x0);
  // Check if the sender has enough
  require(balanceOf[_from] >= _value);
  // Check for overflows
  require(balanceOf[_to] + _value > balanceOf[_to]);
  // Save this for an assertion in the future
  uint256 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);
  // Asserts are used to use static analysis to find bugs in your code. They should never fail
  assert(balanceOf[_from] + balanceOf[_to] == previousBalances);
}