[![codecov][codecov-image]][codecov-url]
[![npm][npm-image]][npm-url] [![npm-downloads][npm-downloads-image]][npm-url]
[![semantic-release][semantic-release-image]][semantic-release-url] [![code-style-prettier][code-style-prettier-image]][code-style-prettier-url] [codecov-image]: https://codecov.io/gh/solana-labs/solana-web3.js/branch/master/graph/badge.svg [codecov-url]: https://codecov.io/gh/solana-labs/solana-web3.js [npm-image]: https://img.shields.io/npm/v/@solana/web3.js.svg?style=flat [npm-downloads-image]: https://img.shields.io/npm/dm/@solana/web3.js.svg?style=flat [npm-url]: https://www.npmjs.com/package/@solana/web3.js [semantic-release-image]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg [semantic-release-url]: https://github.com/semantic-release/semantic-release [code-style-prettier-image]: https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square [code-style-prettier-url]: https://github.com/prettier/prettier # Solana JavaScript API This is the Solana Javascript API built on the Solana [JSON RPC API](https://docs.solana.com/apps/jsonrpc-api) ## Documentation and examples - [The Solana Cookbook](https://solanacookbook.com/) has extensive task-based documentation using this library. - For more detail on individual functions, see the [latest API Documentation](https://solana-labs.github.io/solana-web3.js/) ## Installation ### Yarn ``` $ yarn add @solana/web3.js ``` ### npm ``` $ npm install --save @solana/web3.js ``` ### Browser bundle ```html ``` ## Development Environment Setup Install the latest Solana release from https://docs.solana.com/cli/install-solana-cli-tools ### Run test validator **Use `solana-test-validator` from the latest Solana release** ### SBF program development **Use `cargo build-bpf` from the latest Solana release** ## Usage ### Javascript ```js const solanaWeb3 = require('@solana/web3.js'); console.log(solanaWeb3); ``` ### ES6 ```js import * as solanaWeb3 from '@solana/web3.js'; console.log(solanaWeb3); ``` ### Browser bundle ```js // `solanaWeb3` is provided in the global namespace by the `solanaWeb3.min.js` script bundle. console.log(solanaWeb3); ``` ## Compatibility This library requires a JavaScript runtime that supports [`BigInt`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt) and the [exponentiation operator](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Exponentiation). Both are supported in the following runtimes: - Browsers, by [release date](https://caniuse.com/bigint): - Chrome: May 2018 - Firefox: July 2019 - Safari: September 2020 - Mobile Safari: September 2020 - Edge: January 2020 - Opera: June 2018 - Samsung Internet: April 2019 - Runtimes, [by version](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt): - Deno: >=1.0 - Node: >=10.4.0 - React Native: - \>=0.7.0 using the [Hermes](https://reactnative.dev/blog/2022/07/08/hermes-as-the-default) engine ([integration guide](https://solanacookbook.com/integrations/react-native.html#how-to-use-solana-web3-js-in-a-react-native-app)): ## Releases Releases are available on [Github](https://github.com/solana-labs/solana-web3.js/releases) and [npmjs.com](https://www.npmjs.com/package/@solana/web3.js) Each Github release features a tarball containing API documentation and a minified version of the module suitable for direct use in a browser environment (`