solana-program-library/token/js
Jon Cinque de8433e815
ci: Split out test-bpf into separate workflows for each program (#1893)
* ci: Split token, token-swap, and token-lending out

* Remove token lending js in main runner

* token-swap: Update proptest to trigger build

* Remove unused Cargo.lock file

* lending: Update proptest to trigger lending build

* Fix lending test

* Try re-using action

* binary-oracle-pair: Bump token version to trigger build

* Reference action differently

* Add checkout step before local action

* Move out cargo test bpf step

* Add more programs

* Update example file to trigger job

* Update library file to trigger build

* Update name-service file to trigger build

* Update record file to trigger build

* Update shared memory file to trigger build

* Add pull request runners for each probram / library

* Fix pull-request yml file referencing unknown step
2021-06-11 22:35:00 +02:00
..
cli ci: Split out test-bpf into separate workflows for each program (#1893) 2021-06-11 22:35:00 +02:00
client add allowOwnerOffCurve flag in getAssociatedTokenAddress 2021-06-01 11:03:03 -06:00
flow-typed/npm fix: token/js bump web3.js to 1.12.0 2021-05-21 00:53:46 +00:00
test fix lint 2021-06-01 11:03:03 -06:00
.eslintignore fix: add support for browser modules to @solana/spl-token (#1337) 2021-02-25 14:56:09 +08:00
.eslintrc.js fix: add support for browser modules to @solana/spl-token (#1337) 2021-02-25 14:56:09 +08:00
.flowconfig Relocate js 2020-08-08 15:25:47 -07:00
.gitignore Port token js tests from solana-localnet to solana-test-validator 2020-12-17 21:24:30 -08:00
.mocharc.js fix: add support for browser modules to @solana/spl-token (#1337) 2021-02-25 14:56:09 +08:00
.prettierrc.yaml Relocate js 2020-08-08 15:25:47 -07:00
README.md Add basic release docs (#1542) 2021-03-31 17:18:20 +09:00
babel.config.json fix: add support for browser modules to @solana/spl-token (#1337) 2021-02-25 14:56:09 +08:00
babel.rollup.config.json Relocate js 2020-08-08 15:25:47 -07:00
cluster-devnet.env Relocate js 2020-08-08 15:25:47 -07:00
cluster-mainnet-beta.env Relocate js 2020-08-08 15:25:47 -07:00
cluster-testnet.env Relocate js 2020-08-08 15:25:47 -07:00
mocha.html fix: add support for browser modules to @solana/spl-token (#1337) 2021-02-25 14:56:09 +08:00
module.d.ts fix: token/js bump web3.js to 1.12.0 2021-05-21 00:53:46 +00:00
module.flow.js fix: token/js bump web3.js to 1.12.0 2021-05-21 00:53:46 +00:00
package-lock.json build(deps-dev): bump eslint from 7.27.0 to 7.28.0 in /token/js (#1882) 2021-06-07 12:31:05 +00:00
package.json build(deps-dev): bump eslint-plugin-mocha in /token/js (#1818) 2021-05-28 08:01:58 +00:00
rollup.config.js fix: add support for browser modules to @solana/spl-token (#1337) 2021-02-25 14:56:09 +08:00
url.js Relocate js 2020-08-08 15:25:47 -07:00

README.md

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 fetch 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