solana/web3.js
Jon Cinque 58354d166b
feat: increase timeout in `confirmTransaction` (#13478)
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.
2020-11-11 13:12:09 +01:00
..
.github Add warning to PR template for mirrored repos (#13344) 2020-11-02 14:34:14 +08:00
.travis chore: add set -e to web3 travis script to fail job on error 2020-06-18 15:39:02 +08:00
bin feat: publish more docker ports in localnet script (#12788) 2020-10-10 14:21:47 +08:00
css
examples Remove reference to old jsfiddle link 2020-08-21 09:27:48 -07:00
flow-typed feat: add Secp256k1 support to solana-web3.js (#12958) 2020-10-22 13:15:24 -07:00
src feat: increase timeout in `confirmTransaction` (#13478) 2020-11-11 13:12:09 +01:00
test fix: fallback to connection commitment when confirming transactions (#13285) 2020-10-29 17:22:53 +00:00
.babelrc fix: upgrade to babel 7; dump uglify for terser; upgrade to jest 24 2020-06-14 21:57:04 -07:00
.esdoc.json
.eslintignore chore: bump eslint from 6.8.0 to 7.9.0 in /web3.js (#12207) 2020-09-17 03:12:00 +00:00
.eslintrc.js chore: fix eslint errors 2020-06-14 21:57:04 -07:00
.flowconfig chore: fix flow config 2020-06-18 15:39:02 +08:00
.gitignore feat: use crypto-hash instead of hasha 2020-06-14 21:57:04 -07:00
.mergify.yml
.prettierrc.yaml
.sgcrc
.travis.yml ci: break up .travis.yml 2020-06-14 22:08:55 -07:00
CONTRIBUTING.md
LICENSE
README.md fix: remove broken links from README 2020-06-14 23:24:22 -07:00
commitlint.config.js
jest-environment.js chore: bump jest from 25.5.4 to 26.0.1 2020-06-14 21:57:04 -07:00
jest.json
module.d.ts fix: add feePayer type in TransactionCtorFields (#13343) 2020-11-02 21:34:24 +08:00
module.flow.js fix: add feePayer type in TransactionCtorFields (#13343) 2020-11-02 21:34:24 +08:00
package-lock.json chore: bump marked from 1.2.2 to 1.2.3 in /web3.js (#13417) 2020-11-06 09:58:48 +08:00
package.json chore: bump buffer from 5.7.0 to 6.0.1 in /web3.js (#13415) 2020-11-05 09:19:09 +00:00
rollup.config.js feat: add Secp256k1 support to solana-web3.js (#12958) 2020-10-22 13:15:24 -07:00

README.md

Build status codecov esdoc
npm npm-downloads
semantic-release code-style-prettier

Solana JavaScript API

This is the Solana Javascript API built on the Solana JSON RPC API

Latest API Documentation

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:

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)