This is the Solana Javascript API built on the Solana JSON RPC API
$ yarn add @solana/web3.js
$ npm install --save @solana/web3.js
<script src="https://github.com/solana-labs/solana-web3.js/releases/download/v0.0.6/solanaWeb3.min.js"></script>
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.
const solanaWeb3 = require('@solana/web3.js');
console.log(solanaWeb3);
import solanaWeb3 from '@solana/web3.js';
console.log(solanaWeb3);
// `solanaWeb3` is provided in the global namespace by the `solanaWeb3.min.js` script bundle.
console.log(solanaWeb3);
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
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
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 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)