A comprehensive Go SDK and RPC client for interacting with the Solana blockchain, including JSON RPC, WebSocket, and program clients.
Solana-go is a Go software development kit and RPC client for the Solana blockchain. It provides a comprehensive set of tools for Go developers to interact with Solana nodes, including sending transactions, querying account information, subscribing to real-time data via WebSockets, and working with on-chain programs like SPL tokens and Metaplex NFTs. It solves the problem of building Solana applications in Go without having to manually implement low-level RPC calls and data serialization.
Go developers building applications, services, or tools on the Solana blockchain, such as trading bots, wallet services, indexers, or DeFi platforms.
Developers choose solana-go for its complete coverage of Solana's RPC API, idiomatic Go design, support for advanced features like address lookup tables and Metaplex, and active development. It is the most feature-rich Go library available for Solana.
Go SDK library and RPC client for the Solana Blockchain
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Implements all Solana JSON RPC methods and WebSocket APIs, as evidenced by the extensive examples from GetAccountInfo to real-time subscriptions in the README.
Provides type-safe interfaces and utilities like SendAndConfirmTransaction, making transaction handling straightforward and reducing boilerplate code.
Includes address lookup tables, Borsh encoding, and Metaplex program clients (e.g., token-metadata, candy machine), keeping pace with Solana's ecosystem developments.
Full WebSocket support for subscriptions to accounts, logs, programs, and more, enabling live data applications without polling.
No stable release; the README states 'all APIs are subject to change,' which risks breaking existing code and hinders production use.
Many native and SPL programs listed in the Features section are not implemented (e.g., config, stake, vote), requiring custom work for full functionality.
Explicitly noted as 'unaudited' in the README, posing security concerns for financial or sensitive applications without external review.
Requires manual setup for rate limiting, custom HTTP clients, and timeouts, which can be cumbersome compared to more opinionated SDKs.