* docs: add docs links for crates published to crates.io (cherry picked from commit24d18b3cf2
) # Conflicts: # core/Cargo.toml # measure/Cargo.toml # programs/bpf/rust/finalize/Cargo.toml * docs: add rust client api entry (cherry picked from commit3e6c7c4a3e
) * docs: rename 'deployed programs' section to 'on-chain programs' (cherry picked from commit0e452c8d91
) * docs: 'builtins' -> 'runtime facilities' (cherry picked from commit9c8be34906
) * docs: stabilize spl token jsonrpc methods (cherry picked from commit45190f6281
) * docs: deprecate lastvalidslot field of jsonrpc getfees (cherry picked from commitc4ee1ab710
) Co-authored-by: Trent Nelson <trent@solana.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
<script src="https://github.com/solana-labs/solana-web3.js/releases/download/v0.0.6/solanaWeb3.min.js"></script>
BPF program development
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.
Usage
Javascript
const solanaWeb3 = require('@solana/web3.js');
console.log(solanaWeb3);
ES6
import 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);
Local Network
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
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)