A TypeScript library for interacting with the SPL Token and Token-2022 programs.
Important
If you are using @solana/web3.js version 2
, you should use the @solana-program/token
and @solana-program/token-2022
packages instead.
Please ask questions in the Solana Stack Exchange: https://solana.stackexchange.com/
If you've found a bug or you'd like to request a feature, please open an issue.
Please see upgrading from 0.1.x.
npm install --save @solana/spl-token @solana/web3.js@1
OR
yarn add @solana/spl-token @solana/web3.js@1
- Prerequisites
- Node 16+
- PNPM
If you have Node 16+, you can activate PNPM with Corepack.
- Clone the project:
git clone https://github.com/solana-labs/solana-program-library.git
- Navigate to the root of the repository:
cd solana-program-library
- Install the dependencies:
pnpm install
- Build the libraries in the repository:
pnpm run build
- Navigate to the SPL Token library:
cd token/js
- Build the on-chain programs:
pnpm run test:build-programs
- Run the tests:
pnpm run test
- Run the example:
pnpm run example
There are no breaking changes from 0.2.0, only new functionality for Token-2022.
When upgrading from spl-token 0.1.x, you may see the following error in your code:
import {TOKEN_PROGRAM_ID, Token, AccountLayout} from '@solana/spl-token';
^^^^^
SyntaxError: The requested module '@solana/spl-token' does not provide an export named 'Token'
The @solana/spl-token
library as of version 0.2.0 does not have the Token
class. Instead the actions are split up and exported separately.
To use the old version, install it with:
npm install @solana/[email protected]
Otherwise you can find documentation on how to use new versions on the SPL docs or Solana Cookbook.