# LinkToken v0.2.1 API Reference
Source: https://docs.chain.link/chainlink-local/api-reference/v0.2.1/link-token

> For the complete documentation index, see [llms.txt](/llms.txt).

> **NOTE: Integrate Chainlink Local into your project**
>
> ### npm
>
> If you use [NPM](https://www.npmjs.com/), install the [@chainlink/local NPM
> package](https://www.npmjs.com/package/@chainlink/local):
>
> ```shell
> npm install @chainlink/local@0.2.1
> ```
>
> ### yarn
>
> If you use [Yarn](https://yarnpkg.com/), install the [@chainlink/local NPM
> package](https://www.npmjs.com/package/@chainlink/local):
>
> ```shell
> yarn add @chainlink/local@0.2.1
> ```
>
> ### foundry
>
> If you use [Foundry](https://book.getfoundry.sh/):
>
> ```shell
> forge install smartcontractkit/chainlink-local@ba1f4636e657f161df634379a5057a5a394e2fbb
> ```
>
> and then set remappings to: `@chainlink/local/=lib/chainlink-local/` in either `remappings.txt` or `foundry.toml` file
>
> ### RemixIDE
>
> Import the `CCIPLocalSimulator` contract from the `@chainlink/local` package:
>
> ```solidity
> import {CCIPLocalSimulator} from "@chainlink/local@0.2.1/src/ccip/CCIPLocalSimulator.sol";
> ```

## LinkToken

[`LinkToken`](https://github.com/smartcontractkit/chainlink-local/blob/ba1f4636e657f161df634379a5057a5a394e2fbb/src/shared/LinkToken.sol) implements the ERC677 token standard for LINK tokens. This contract provides the basic functionality of the Chainlink token with a fixed total supply.

## Variables

### NAME

```solidity
string private constant NAME = "ChainLink Token"
```

The name of the token.

### SYMBOL

```solidity
string private constant SYMBOL = "LINK"
```

The symbol of the token.

### TOTAL\_SUPPLY

```solidity
uint private constant TOTAL_SUPPLY = 10 ** 27
```

The total supply of LINK tokens (1 billion LINK with 18 decimals).

## Functions

### constructor

```solidity
constructor() ERC677(NAME, SYMBOL)
```

Initializes the contract with the token name and symbol, then calls `_onCreate()`.

### \_onCreate

```solidity
function _onCreate() internal virtual
```

Hook that is called when this contract is created.

> **NOTE**
>
> Default implementation mints 10\*\*27 tokens to msg.sender. This function can be overridden in child contracts (e.g.,
> LINK bridge tokens).