* 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 |
||
---|---|---|
.. | ||
cli | ||
client | ||
flow-typed/npm | ||
test | ||
.eslintignore | ||
.eslintrc.js | ||
.flowconfig | ||
.gitignore | ||
.mocharc.js | ||
.prettierrc.yaml | ||
README.md | ||
babel.config.json | ||
babel.rollup.config.json | ||
cluster-devnet.env | ||
cluster-mainnet-beta.env | ||
cluster-testnet.env | ||
mocha.html | ||
module.d.ts | ||
module.flow.js | ||
package-lock.json | ||
package.json | ||
rollup.config.js | ||
url.js |
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 enabledtestnet
- Tour De Sol test cluster without airdrops enabledmainnet-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
- (first-time only) Create your account on npmjs.com (with 2FA enabled!) and ask @mvines about granting the publish right and run
npm login
- Bump version in
package.json
andnpm install
(to updatepackage-lock.json
) - Create a PR for the version bump
- Merge the PR and push new git tag on master branch
- Create release on github.com from the pushed tag
- Run
npm run build
andnpm publish