# solana-foundation/solana-web3.js

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/solana-foundation-solana-web3-js).**

2,739 stars · 1,068 forks · TypeScript · MIT

## Links

- GitHub: https://github.com/solana-foundation/solana-web3.js
- Homepage: https://solana-foundation.github.io/solana-web3.js/
- awesome-repositories: https://awesome-repositories.com/repository/solana-foundation-solana-web3-js.md

## Topics

`blockchain` `javascript` `js` `node` `nodejs` `sdk` `solana`

## Description

Solana Web3.js is a TypeScript and JavaScript client library for interacting with the Solana blockchain. It functions as a web3 client that provides an RPC wrapper for managing network requests and a toolkit for querying account state and executing on-chain program instructions.

The library includes a specialized cryptography interface for generating key pairs and performing asynchronous signing and verification using web cryptography standards. It also provides a serialization tool for encoding and decoding data between JavaScript objects and byte buffers to match on-chain program state.

The project covers a broad range of blockchain operations, including the construction of versioned transaction messages, the execution of program instructions, and the retrieval of blockchain data via JSON RPC and GraphQL. It supports real-time network monitoring through asynchronous subscriptions and includes utilities for estimating compute unit budgets to optimize validator acceptance.

## Tags

### Networking & Communication

- [Blockchain Network Interaction](https://awesome-repositories.com/f/networking-communication/blockchain-network-interaction.md) — Provides a standard network interface to read and write state on the Solana blockchain. ([source](https://solana-foundation.github.io/solana-web3.js))
- [Blockchain Integration](https://awesome-repositories.com/f/networking-communication/distributed-systems-p2p/decentralized-blockchain-technologies/blockchain-integration.md) — Connects external web applications to the Solana blockchain network for data retrieval and program execution.
- [Blockchain Client Libraries](https://awesome-repositories.com/f/networking-communication/blockchain-client-libraries.md) — Acts as a TypeScript and JavaScript client library providing APIs for interacting with blockchain nodes.
- [Blockchain RPC Interfaces](https://awesome-repositories.com/f/networking-communication/distributed-systems-p2p/decentralized-blockchain-technologies/blockchain-rpc-interfaces.md) — Provides a standardized RPC interface for managing network requests and data retrieval from validators.
- [On-Chain Program Execution](https://awesome-repositories.com/f/networking-communication/on-chain-program-execution.md) — Enables running on-chain programs using typed instruction builders and account helpers to ensure data consistency. ([source](https://cdn.jsdelivr.net/gh/solana-foundation/solana-web3.js@maintenance/v1.x/README.md))
- [Type-Safe Remote Calls](https://awesome-repositories.com/f/networking-communication/remote-procedure-calls/type-safe-remote-calls.md) — Constructs on-chain program calls using structured builders that enforce type safety and data consistency.
- [Blockchain Transaction Construction](https://awesome-repositories.com/f/networking-communication/transactional-message-coordination/blockchain-transaction-construction.md) — Creates versioned transaction messages by defining fee payers and lifetime constraints using a type-safe object model. ([source](https://cdn.jsdelivr.net/gh/solana-foundation/solana-web3.js@maintenance/v1.x/README.md))
- [Type-Safe Real-Time RPC Platforms](https://awesome-repositories.com/f/networking-communication/websocket-rpc-interfaces/type-safe-real-time-rpc-platforms.md) — Provides type-safe real-time RPC streaming via WebSockets for consuming blockchain event updates. ([source](https://cdn.jsdelivr.net/gh/solana-foundation/solana-web3.js@maintenance/v1.x/README.md))
- [Pluggable Transport Layers](https://awesome-repositories.com/f/networking-communication/communication-protocols-architectures/communication-protocols-standards/network-transport-layers/pluggable-transport-layers.md) — Provides a configurable communication bridge that supports sharding and automatic retry strategies for blockchain requests.
- [Request Distribution Strategies](https://awesome-repositories.com/f/networking-communication/network-transport-protocols/request-distribution-strategies.md) — Implements distribution logic, request sharding, and automatic retry strategies for blockchain network requests. ([source](https://cdn.jsdelivr.net/gh/solana-foundation/solana-web3.js@maintenance/v1.x/README.md))

### Data & Databases

- [Binary Serialization Codecs](https://awesome-repositories.com/f/data-databases/binary-serialization-codecs.md) — Encodes complex JavaScript objects into raw byte arrays using modular codecs to match on-chain data layouts.
- [Blockchain State Querying](https://awesome-repositories.com/f/data-databases/blockchain-state-querying.md) — Provides tools for retrieving account balances, block headers, and transaction receipts from the Solana network. ([source](https://cdn.jsdelivr.net/gh/solana-foundation/solana-web3.js@maintenance/v1.x/README.md))
- [Blockchain State Serialization](https://awesome-repositories.com/f/data-databases/blockchain-state-serialization.md) — Ships a serialization tool for encoding and decoding data between JavaScript objects and byte buffers for program state.
- [Blockchain Data Formatters](https://awesome-repositories.com/f/data-databases/data-formats/blockchain-data-formatters.md) — Provides tools for encoding and decoding complex data structures between JavaScript objects and byte buffers for blockchain communication.
- [Data Serialization Codecs](https://awesome-repositories.com/f/data-databases/data-serialization-codecs.md) — Implements bidirectional codecs for transforming complex JavaScript objects into raw byte buffers. ([source](https://cdn.jsdelivr.net/gh/solana-foundation/solana-web3.js@maintenance/v1.x/README.md))
- [Data Stream Subscriptions](https://awesome-repositories.com/f/data-databases/data-stream-subscriptions.md) — Maintains long-lived connections for real-time event notifications with integrated message recovery.
- [Blockchain Client Toolkits](https://awesome-repositories.com/f/data-databases/data-structure-definitions/blockchain-client-toolkits.md) — Provides a comprehensive set of tools for sending transactions and managing on-chain program instructions.
- [GraphQL Block Queries](https://awesome-repositories.com/f/data-databases/structured-record-querying/graphql-block-queries.md) — Implements GraphQL queries to consolidate multiple blockchain entities into a single structured request to reduce response size. ([source](https://cdn.jsdelivr.net/gh/solana-foundation/solana-web3.js@maintenance/v1.x/README.md))

### DevOps & Infrastructure

- [Transaction Managers](https://awesome-repositories.com/f/devops-infrastructure/transaction-managers.md) — Implements utilities for signing and broadcasting versioned transactions to the blockchain network.

### Security & Cryptography

- [Blockchain Data Signing](https://awesome-repositories.com/f/security-cryptography/asymmetric-signing/artifact-verification-key-storage/artifact-signing-operations/blockchain-data-signing.md) — Generates key pairs and performs asynchronous signing and verification using standard web cryptography tools. ([source](https://cdn.jsdelivr.net/gh/solana-foundation/solana-web3.js@maintenance/v1.x/README.md))
- [Blockchain Key Management](https://awesome-repositories.com/f/security-cryptography/cryptographic-key-management/blockchain-key-management.md) — Handles generation and secure management of cryptographic key pairs for blockchain signing and verification.
- [Cryptography](https://awesome-repositories.com/f/security-cryptography/cryptography.md) — Provides a toolkit for generating key pairs and performing asynchronous signing and verification.

### Software Engineering & Architecture

- [Transaction Message Modeling](https://awesome-repositories.com/f/software-engineering-architecture/transaction-message-modeling.md) — Builds type-safe transaction messages with explicit fee payers and lifetime constraints to ensure validator acceptance.
- [Unified GraphQL Querying](https://awesome-repositories.com/f/software-engineering-architecture/query-optimization/graphql/unified-graphql-querying.md) — Uses a unified GraphQL querying layer to retrieve nested blockchain state and simplify complex lookups.

### Part of an Awesome List

- [Subscription State Recovery](https://awesome-repositories.com/f/awesome-lists/devtools/websockets-and-real-time/subscription-connection-managers/subscription-state-recovery.md) — Detects connection failures in subscriptions to implement catch-up logic and synchronize missed state updates. ([source](https://cdn.jsdelivr.net/gh/solana-foundation/solana-web3.js@maintenance/v1.x/README.md))

### System Administration & Monitoring

- [Blockchain Event Subscriptions](https://awesome-repositories.com/f/system-administration-monitoring/real-time-monitoring-systems/blockchain-event-subscriptions.md) — Provides asynchronous subscriptions to track live network events and synchronize state updates in applications.

### User Interface & Experience

- [Decentralized Application Interfaces](https://awesome-repositories.com/f/user-interface-experience/decentralized-application-interfaces.md) — Provides the necessary tools for building web interfaces that interact with blockchain protocols and decentralized assets.
