Blockwell

ChainLink Token

ERC20

This contract is an ERC20 token.

Name ChainLink Token
Symbol LINK
Decimals 18
Total Supply 1,000,000,000 LINK

About link description

### What Is Chainlink? Chainlink (LINK) is a decentralized oracle network which aims to connect smart contracts with data from the real world. Chainlink was developed by Sergey Nazarov, with Steve Ellis as the other co-founder. It held an ICO in September 2017, raising $32 million, with a total supply of 1 billion LINK tokens. LINK, the cryptocurrency native to the Chainlink decentralized oracle network, is used to pay node operators. Since the Chainlink network has a reputation system, node providers that have a large amount of LINK can be rewarded with larger contracts, while a failure to deliver accurate information results in a deduction of tokens. Developers describe LINK as “an ERC20 token, with the additional ERC223 'transfer and call' functionality of transfer (address, uint256, bytes), allowing tokens to be received and processed by contracts within a single transaction.” Following the 2017 $32 million LINK ICO, 32 percent of LINK tokens were sent to node operators to incentivize the ecosystem and 30 percent stayed within Chainlink for development (35 percent were sold in the public token sale). ### What Are Oracles? Chainlink is a platform that aims to bridge the gap between blockchain technology-based smart contracts (made widespread by Ethereum), and real world applications. Since blockchains cannot access data outside their network, oracles (a defi instrument) are needed to function as data feeds in smart contracts. In Chainlink's case, the oracles are connected to the Ethereum network. Oracles provide external data (e.g. temperature, weather) that trigger smart contract executions upon the fulfillment of predefined conditions. Participants on the Chainlink network are incentivized (through rewards) to provide smart contracts with access to external data feeds like API information. Should users desire access to off-chain data, they can submit a requesting contract to Chainlink’s network. These contracts will match the requesting contract with the appropriate oracles. The contracts include a reputation contract, an order-matching contract and an aggregating contract. The aggregating contract gathers data of the selected oracles to find the most accurate result. ### Where Can You Buy Chainlink? You can buy Chainlink (LINK) on any exchange that supports the digital currency. For the latest list of exchanges and trading pairs for this cryptocurrency, click on our [market pairs tab](https://coinmarketcap.com/currencies/chainlink/markets/).

Stats

Public Functions 9
Event Types 3
Code Size 9,102 bytes

Approval Event

Parameters help
owner
address help
spender
address help
value
uint256 help

Transfer Event

Parameters help
from
address help
to
address help
value
uint256 help

Transfer Event

Parameters help
from
address help
to
address help
value
uint help
data
bytes help

Functions Expand All Collapse All

balanceOf keyboard_arrow_up

Parameters help

Name Type
_owner
address help

Properties

Visibility help public
Mutability help constant
Source Code
  function balanceOf(address _owner) constant 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) returns (bool) {
    balances[msg.sender] = balances[msg.sender].sub(_value);
    balances[_to] = balances[_to].add(_value);
    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 constant
Source Code
  function allowance(address _owner, address _spender) constant returns (uint256 remaining) {
    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
Source Code
  function transferFrom(address _from, address _to, uint256 _value)
    public
    validRecipient(_to)
    returns (bool)
  {
    return super.transferFrom(_from, _to, _value);
  }

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
    validRecipient(_spender)
    returns (bool)
  {
    return super.approve(_spender,  _value);
  }

transferAndCall keyboard_arrow_up

Parameters help

Name Type
_to
address help
_value
uint help
_data
bytes help

Properties

Visibility help public
Mutability help transaction
Source Code
  function transferAndCall(address _to, uint _value, bytes _data)
    public
    validRecipient(_to)
    returns (bool success)
  {
    return super.transferAndCall(_to, _value, _data);
  }

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) 
    returns (bool success) {
    allowed[msg.sender][_spender] = allowed[msg.sender][_spender].add(_addedValue);
    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) 
    returns (bool success) {
    uint oldValue = allowed[msg.sender][_spender];
    if (_subtractedValue > oldValue) {
      allowed[msg.sender][_spender] = 0;
    } else {
      allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue);
    }
    Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
    return true;
  }

transfer keyboard_arrow_up

Parameters help

Name Type
_to
address help
_value
uint help

Properties

Visibility help public
Mutability help transaction
Source Code
  function transfer(address _to, uint _value)
    public
    validRecipient(_to)
    returns (bool success)
  {
    return super.transfer(_to, _value);
  }