Blockwell

YOU Chain

ERC20

This contract is an ERC20 token.

Name YOU Chain
Symbol YOU
Decimals 18
Total Supply 2,856,000,000 YOU

About link

YOUChain is focused on carrying out large-scale commercial applications through its YPoS consensus mechanism and investment model. YOUChain aims to create a public blockchain with high-performance and scalability to achieve its vision of “One Mobile Device One Node, Everyone Can Participate”. YOUChain's founding team is reportedly from Alibaba, Tencent and BITMAIN. It has the following features: - YPoS, a BFT consensus algorithm based on VRF and PoS, reportedly supports a large number of nodes to conduct consensus. - Super routing, a P2P system made for both home broadband and mobile network, reportedly helps to enhance the efficiency of complex communication environments. - Intelligent sharding reportedly enhances scalability. - Any mobile device can theoretically become a node in the network to achieve decentralization.

Stats

Public Functions 11
Event Types 3
Code Size 12,274 bytes

Approval Event

Parameters help
owner
address help
spender
address help
value
uint256 help

OwnershipTransferred Event

Parameters help
previousOwner
address help
newOwner
address help

Transfer Event

Parameters help
from
address help
to
address help
value
uint256 help

VestingGrant Event

Members
beneficiary
address help
start
uint256 help
duration
uint256 help
amount
uint256 help
transfered
uint256 help
releaseCount
uint8 help

Functions Expand All Collapse All

transferOwnership keyboard_arrow_up

Parameters help

Name Type
newOwner
address help

Properties

Visibility help public
Mutability help transaction

Requirements help

Source Code
  function transferOwnership(address newOwner) public onlyOwner {
    require(newOwner != address(0));
    emit OwnershipTransferred(owner, newOwner);
    owner = newOwner;
  }

balanceOf keyboard_arrow_up

Parameters help

Name Type
_owner
address help

Properties

Visibility help public
Mutability help view
Source Code
  function balanceOf(address _owner) public view returns (uint256 balance) {
    return balances[_owner];
  }

transfer keyboard_arrow_up

Parameters help

Name Type
_to
address help
_value
uint256 help

Properties

Visibility help public
Mutability help transaction
Source Code
  function transfer(address _to, uint256 _value) public returns (bool) {
    require(_to != address(0));
    require(_value <= balances[msg.sender]);

    // SafeMath.sub will throw if there is not enough balance.
    balances[msg.sender] = balances[msg.sender].sub(_value);
    balances[_to] = balances[_to].add(_value);
    emit Transfer(msg.sender, _to, _value);
    return true;
  }

allowance keyboard_arrow_up

Parameters help

Name Type
_owner
address help
_spender
address help

Properties

Visibility help public
Mutability help view
Source Code
  function allowance(address _owner, address _spender) public view returns (uint256) {
    return allowed[_owner][_spender];
  }

transferFrom keyboard_arrow_up

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) {
    require(_to != address(0));
    require(_value <= balances[_from]);
    require(_value <= allowed[_from][msg.sender]);

    balances[_from] = balances[_from].sub(_value);
    balances[_to] = balances[_to].add(_value);
    allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value);
    emit Transfer(_from, _to, _value);
    return true;
  }

approve keyboard_arrow_up

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) {
    allowed[msg.sender][_spender] = _value;
    emit Approval(msg.sender, _spender, _value);
    return true;
  }

increaseApproval keyboard_arrow_up

Parameters help

Name Type
_spender
address help
_addedValue
uint help

Properties

Visibility help public
Mutability help transaction
Source Code
  function increaseApproval(address _spender, uint _addedValue) public returns (bool) {
    allowed[msg.sender][_spender] = allowed[msg.sender][_spender].add(_addedValue);
    emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
    return true;
  }

decreaseApproval keyboard_arrow_up

Parameters help

Name Type
_spender
address help
_subtractedValue
uint help

Properties

Visibility help public
Mutability help transaction
Source Code
  function decreaseApproval(address _spender, uint _subtractedValue) public returns (bool) {
    uint oldValue = allowed[msg.sender][_spender];
    if (_subtractedValue > oldValue) {
      allowed[msg.sender][_spender] = 0;
    } else {
      allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue);
    }
    emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
    return true;
  }

releaseAngelFirstVested keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help transaction
Source Code
  function releaseAngelFirstVested() public onlyOwner {
    require(!angelFirstVested && now >= angelVestingGrant.start);
    uint256 angelFirstSupplyBalance = ANGEL_SUPPLY.sub(ANGEL_SUPPLY_VESTING);
    totalSupply = totalSupply.add(angelFirstSupplyBalance);
    balances[angelVestingGrant.beneficiary] = angelFirstSupplyBalance;
    angelFirstVested = true;
    emit Transfer(address(0), angelVestingGrant.beneficiary, angelFirstSupplyBalance);
  }

releaseAngelVested keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help transaction

Requirements help

Source Code
  function releaseAngelVested() public onlyOwner {
     releaseVestingGrant(angelVestingGrant);
  }

releaseTeamVested keyboard_arrow_up

Parameters help

This function has no parameters.

Properties

Visibility help public
Mutability help transaction

Requirements help

Source Code
  function releaseTeamVested() public onlyOwner {
     releaseVestingGrant(teamVestingGrant);
  }