Go to file
Slavomir 28f7660fb8 RPC/GetBlock: check provided encoding before sending request. 2021-07-25 22:04:49 +02:00
.github/workflows Run tests 100 times 2021-07-25 19:52:49 +02:00
cli Added license ot files 2020-11-09 13:09:50 -05:00
cmd/slnc Refactor HTTP clients 2021-07-20 21:29:06 +02:00
diff Rename `github.com/dfuse-io/solana-go` to `github.com/gagliardetto/solana-go` 2021-07-06 18:18:26 +02:00
programs Run tests 100 times 2021-07-25 19:52:49 +02:00
rpc RPC/GetBlock: check provided encoding before sending request. 2021-07-25 22:04:49 +02:00
testdata Added capabilities to read private key generated by `solana-keygen new` command line 2020-12-11 01:01:55 -05:00
text Refactor instruction that was not complying to AccountsSettable 2021-01-22 07:48:34 -05:00
vault Use github.com/json-iterator/go instead of encoding/json 2021-07-21 18:05:20 +02:00
zap-box Use github.com/json-iterator/go instead of encoding/json 2021-07-21 18:05:20 +02:00
.envrc cleaned up error handling 2020-11-26 20:06:13 -05:00
.gitignore Add and ignore rpc/debug-utils.go 2021-06-30 21:04:40 +02:00
.goreleaser.yml Added license ot files 2020-11-09 13:09:50 -05:00
CHANGELOG.md Basic changelog info for first release 2020-11-09 11:24:41 -05:00
LICENSE A few touchups, README.md 2020-11-09 11:03:26 -05:00
README.md Update README 2021-07-21 19:35:41 +02:00
account.go major refactor cli 2020-11-26 17:05:19 -05:00
account_test.go major refactor cli 2020-11-26 17:05:19 -05:00
constants.go Add LAMPORTS_PER_SOL 2021-07-25 19:53:09 +02:00
go.mod Use github.com/json-iterator/go instead of encoding/json 2021-07-21 18:05:20 +02:00
go.sum Use github.com/json-iterator/go instead of encoding/json 2021-07-21 18:05:20 +02:00
init_test.go now able to decode EvenQueues 2020-11-17 07:14:55 -05:00
interface.go Rework the decode interface. 2021-01-20 13:21:09 -05:00
json.go Use github.com/json-iterator/go instead of encoding/json 2021-07-21 18:05:20 +02:00
keys.go Implement MarshalText/UnmarshalText on solana.PublicKey so it can be used as map key 2021-07-21 18:05:58 +02:00
keys_test.go Implement MarshalText/UnmarshalText on solana.PublicKey so it can be used as map key 2021-07-21 18:05:58 +02:00
logging.go Rename `github.com/dfuse-io/solana-go` to `github.com/gagliardetto/solana-go` 2021-07-06 18:18:26 +02:00
nativetype_test.go Use github.com/json-iterator/go instead of encoding/json 2021-07-21 18:05:20 +02:00
nativetypes.go RPC/GetBlock: check provided encoding before sending request. 2021-07-25 22:04:49 +02:00
registry.go Added support for Serum DEX v3 instructions 2021-02-08 17:45:37 -05:00
transaction.go NewTransaction: Fix account keys order 2021-07-20 13:37:52 +02:00
transaction_test.go NewTransaction: Fix account keys order 2021-07-20 13:37:52 +02:00
types.go Don't use []uint8 as a slice of account idexes; use []uint16 instead 2021-07-19 11:28:55 +02:00
types_test.go Don't use []uint8 as a slice of account idexes; use []uint16 instead 2021-07-19 11:28:55 +02:00
util.go Added license ot files 2020-11-09 13:09:50 -05:00

README.md

Solana SDK library for Go

GoDoc GitHub tag (latest SemVer pre-release) Build Status TODOs Go Report Card

Go library to interface with Solana JSON RPC and WebSocket interfaces.

Clients for Solana native programs, Solana Program Library (SPL), and Serum DEX are in development.

More contracts to come.

Contents

Features

  • Full JSON RPC API
  • Full WebSocket JSON streaming API
  • Wallet, account, and keys management
  • Clients for native programs
  • Clients for Solana Program Library
  • Client for Serum
  • More programs

Current development status

There is currently no stable release. The SDK is actively developed and latest is v0.3.2 which is an alpha release.

The RPC and WS client implementation is based on this RPC spec.

Requirements

  • Go 1.16 or later

Installation

⚠️ solana-go works using SemVer but in 0 version, which means that the 'minor' will be changed when some broken changes are introduced into the application, and the 'patch' will be changed when a new feature with new changes is added or for bug fixing. As soon as v1.0.0 be released, solana-go will start to use SemVer as usual.

$ cd my-project
$ go get github.com/gagliardetto/solana-go@latest

RPC usage examples

TODO

Contributing

We encourage everyone to contribute, submit issues, PRs, discuss. Every kind of help is welcome.

License

Apache 2.0

Credits