58354d166b
Developers have reported needing to change the timeout to suit their use cases, or not completely understanding what the timeout meant for their transaction, since it could timeout and still get processed. This increases the default timeout to `confirmTransaction` and adds more information to the error message. |
||
---|---|---|
.. | ||
.github | ||
.travis | ||
bin | ||
css | ||
examples | ||
flow-typed | ||
src | ||
test | ||
.babelrc | ||
.esdoc.json | ||
.eslintignore | ||
.eslintrc.js | ||
.flowconfig | ||
.gitignore | ||
.mergify.yml | ||
.prettierrc.yaml | ||
.sgcrc | ||
.travis.yml | ||
CONTRIBUTING.md | ||
LICENSE | ||
README.md | ||
commitlint.config.js | ||
jest-environment.js | ||
jest.json | ||
module.d.ts | ||
module.flow.js | ||
package-lock.json | ||
package.json | ||
rollup.config.js |
README.md
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)