Skip to content

Files

Latest commit

37a6db8 · Feb 7, 2022

History

History
This branch is 3611 commits behind solana-labs/solana-program-library:master.

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
Nov 15, 2021
Dec 9, 2021
Sep 8, 2021
Dec 9, 2021
Jul 19, 2021
Jul 16, 2021
Feb 25, 2021
Jun 24, 2021
Dec 18, 2020
Jun 24, 2021
Aug 8, 2020
Feb 7, 2022
Feb 25, 2021
Aug 8, 2020
Aug 8, 2020
Aug 8, 2020
Aug 8, 2020
Feb 25, 2021
Dec 9, 2021
Dec 9, 2021
Dec 9, 2021
Feb 7, 2022
Dec 9, 2021
Aug 8, 2020

Token JavaScript API

The Token JavaScript library comprises:

  • A library to interact with the on-chain program
  • A test client that exercises the program
  • Scripts to facilitate building the program

Getting Started

First, make sure you've already deployed the associated-token-account program by going into associated-token-account/program and running:

$ cargo build-bpf

Once that's complete, come back to the token/js folder and install the npm dependencies, including @solana/web3.js, by running:

$ npm install

Select a Network

The client connects to a local Solana cluster by default.

To enable on-chain program logs, set the RUST_LOG environment variable:

$ export RUST_LOG=solana_runtime::native_loader=trace,solana_runtime::system_instruction_processor=trace,solana_runtime::bank=debug,solana_bpf_loader=debug,solana_rbpf=debug

To start a local Solana cluster run:

$ solana-test-validator

Solana cluster logs are available with:

$ solana --url http://127.0.0.1:8899/ logs

Build the on-chain program

$ npm run build:program

Run the test client

$ npm run start

Pointing to a public Solana cluster

Solana maintains three public clusters:

  • devnet - Development cluster with airdrops enabled
  • testnet - Tour De Sol test cluster without airdrops enabled
  • mainnet-beta - Main cluster

Use npm scripts to configure which cluster.

To point to devnet:

$ npm run cluster:devnet

To point back to the local cluster:

$ npm run cluster:localnet

Releasing

  1. (first-time only) Create your account on npmjs.com (with 2FA enabled!) and ask @mvines about granting the publish right and run npm login
  2. Bump version in package.json and npm install (to update package-lock.json)
  3. Create a PR for the version bump
  4. Merge the PR and push new git tag on master branch
  5. Create release on github.com from the pushed tag
  6. Run npm run build and npm publish