* feat: update api urls (cherry picked from commit0f3045fb68) * fix: cluster test (cherry picked from commitae5a10dffd) * docs: update old devnet and testnet url references (cherry picked from commitec621e71dc) * fix: update devnet and testnet urls (cherry picked from commit7be3171f4a) Co-authored-by: Josh Hundley <josh.hundley@gmail.com>
Solana JavaScript API
This is the Solana Javascript API built on the Solana JSON RPC API
Installation
Yarn
$ yarn add @solana/web3.js
npm
$ npm install --save @solana/web3.js
Browser bundle
<!-- Development (un-minified) -->
<script src="https://unpkg.com/@solana/web3.js@0.92.0/lib/index.iife.js"></script>
<!-- Production (un-minified) -->
<script src="https://unpkg.com/@solana/web3.js@0.92.0/lib/index.iife.min.js"></script>
Development Environment Setup
To build and run tests:
- Install Rust from https://rustup.rs/
 - Install the latest Solana release from https://docs.solana.com/cli/install-solana-cli-tools
 
Usage
Javascript
const solanaWeb3 = require('@solana/web3.js');
console.log(solanaWeb3);
ES6
import * as solanaWeb3 from '@solana/web3.js';
console.log(solanaWeb3);
Browser bundle
// `solanaWeb3` is provided in the global namespace by the `solanaWeb3.min.js` script bundle.
console.log(solanaWeb3);
Flow
A Flow library definition is provided at module.flow.js. Add the following line under the [libs] section of your project's .flowconfig to activate it:
[libs]
node_modules/@solana/web3.js/module.flow.js
Examples
See the examples/ directory for small snippets.
Standalone examples:
- Message feed (BPF Rust and C): https://github.com/solana-labs/example-messagefeed
 - Tic-tac-toe (BPF C): https://github.com/solana-labs/example-tictactoe
 - Web wallet: https://github.com/solana-labs/example-webwallet
 
Releases
Releases are available on Github and npmjs.com
Each Github release features a tarball containing API documentation and a minified version of the module suitable for direct use in a browser environment (<script> tag)
Deprecated
Local Network
Please use solana-test-validator from the latest Solana release instead of the information in this section
The solana-localnet program is provided to easily start a test Solana cluster
locally on your machine.  Docker must be installed.  The JSON RPC endpoint of
the local cluster is http://localhost:8899.
To start, first fetch the latest Docker image by running:
$ npx solana-localnet update
Then run the following command to start the cluster
$ npx solana-localnet up
While the cluster is running logs are available with:
$ npx solana-localnet logs -f
Stop the cluster with:
$ npx solana-localnet down
BPF program development
Please use cargo build-bpf from the latest Solana release instead of the information in this section
The Solana BPF SDK is located in the bpf-sdk/ subdirectory if you installed
solana-web3.js from npmjs.com.
From a git clone, run npm run bpf-sdk:install to fetch the latest BPF SDK.
Additionally Rust must be installed to build Rust BPF programs such as
examples/bpf-rust-noop/.  See https://www.rust-lang.org/install.html for
installation details.