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
Events (3) keyboard_arrow_up
Functions
balanceOf keyboard_arrow_up
transfer keyboard_arrow_up
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
transferFrom keyboard_arrow_up
Modifiers help
validRecipient checks for the following:
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
Modifiers help
validRecipient checks for the following:
Source Code
function approve(address _spender, uint256 _value)
public
validRecipient(_spender)
returns (bool)
{
return super.approve(_spender, _value);
}
transferAndCall keyboard_arrow_up
Modifiers help
validRecipient checks for the following:
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
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
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
Modifiers help
validRecipient checks for the following:
Source Code
function transfer(address _to, uint _value)
public
validRecipient(_to)
returns (bool success)
{
return super.transfer(_to, _value);
}