diff --git a/README.md b/README.md index fd64eb6a..9cb8d3d4 100644 --- a/README.md +++ b/README.md @@ -15,132 +15,26 @@ Go library to interface with Solana nodes's JSON-RPC interface, Solana's SPL tok > :warning: `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. -1. Install from https://github.com/gagliardetto/solana-go/releases - -**or** - -2. Build from source with: - ```bash -$ go get -u -v github.com/gagliardetto/solana-go/cmd/slnc -``` - -# Command-line - -```bash -$ slnc get balance EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v -1461600 lamports - -$ slnc get account EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v -{ - "lamports": 1461600, - "data": [ - "AQAAABzjWe1aAS4E+hQrnHUaHF6Hz9CgFhuchf/TG3jN/Nj2gCa3xLwWAAAGAQEAAAAqnl7btTwEZ5CY/3sSZRcUQ0/AjFYqmjuGEQXmctQicw==", - "base64" - ], - "owner": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", - "executable": false, - "rentEpoch": 108 -} - -$ slnc token get mint SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt -Supply 9999647664800000 -Decimals 6 -No mint authority -No freeze authority - -$ slnc serum list markets -... -ALEPH/USDT EmCzMQfXMgNHcnRoFwAdPe1i2SuiSzMj1mx6wu3KN2uA -ALEPH/WUSDC B37pZmwrwXHjpgvd9hHDAx1yeDsNevTnbbrN9W12BoGK -BTC/USDT 8AcVjMG2LTbpkjNoyq8RwysokqZunkjy3d5JDzxC6BJa -BTC/WUSDC CAgAeMD7quTdnr6RPa7JySQpjf3irAmefYNdTb6anemq -ETH/USDT HfCZdJ1wfsWKfYP2qyWdXTT5PWAGWFctzFjLH48U1Hsd -ETH/WUSDC ASKiV944nKg1W9vsf7hf3fTsjawK6DwLwrnB2LH9n61c -SOL/USDT 8mDuvJJSgoodovMRYArtVVYBbixWYdGzR47GPrRT65YJ -SOL/WUSDC Cdp72gDcYMCLLk3aDkPxjeiirKoFqK38ECm8Ywvk94Wi -... - -$ slnc serum get market 7JCG9TsCx3AErSV3pvhxiW4AbkKRcJ6ZAveRmJwrgQ16 -Price Quantity Depth -Asks -... -527.06 444.09 #################### -393.314 443.52 ############### -463.158 443.17 ########### -200 442.63 ###### -234.503 442.54 #### -50 441.86 ## -61.563 441.47 # -84.377 440.98 -------- -------- -10 439.96 -193.303 439.24 ## -50 438.94 ## -0.5 438.87 ## -247.891 437.65 ##### -458.296 436.99 ######### -452.693 435.68 ############## -372.722 435.12 ################## -0.043 431.94 ################## -... -``` -# Library usage - -Loading an SPL mint - -```golang - -import "github.com/gagliardetto/solana-go/rpc" -import "github.com/gagliardetto/solana-go/token" - - addr := solana.MustPublicKeyFromBase58("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v") - cli := rpc.NewClient("http://api.mainnet-beta.solana.com") - - var m token.Mint - err := cli.GetAccountDataIn(context.Background(), addr, &m) - // handle `err` - - json.NewEncoder(os.Stdout).Encode(m) - // {"OwnerOption":1, - // "Owner":"2wmVCSfPxGPjrnMMn7rchp4uaeoTqN39mXFC2zhPdri9", - // "Decimals":128, - // "IsInitialized":true} - +$ go get github.com/gagliardetto/solana-go ``` +# Current development status -Getting any account's data: - -```golang +The SDK is actively developed and latest is an `alpha` release. -import "github.com/gagliardetto/solana-go/rpc" -import "github.com/gagliardetto/solana-go/token" +# Features - addr := solana.MustPublicKeyFromBase58("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v") - cli := rpc.NewClient("http://api.mainnet-beta.solana.com") +- [x] JSON RPC API +- [x] Websocket JSON streaming API +- [ ] Wallet, account, and keys management +- [ ] Clients for native programs +- [ ] Clients for Solana Program Library +- [ ] Client for Serum - acct, err := cli.GetAccountInfo(context.Background(), addr) - // handle `err` +# RPC usage - json.NewEncoder(os.Stdout).Encode(m) -// { -// "context": { -// "Slot": 47836700 -// }, -// "value": { -// "lamports": 1461600, -// "data": { -// "data": "AQAAABzjWe1aAS4E+hQrnHUaHF6Hz9CgFhuchf/TG3jN/Nj2gCa3xLwWAAAGAQEAAAAqnl7btTwEZ5CY/3sSZRcUQ0/AjFYqmjuGEQXmctQicw==", -// "encoding": "base64" -// }, -// "owner": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", -// "executable": false, -// "rentEpoch": 109 -// } -// } - -``` +TODO # Contributing