/
main.go
47 lines (41 loc) · 1.02 KB
/
main.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
package main
import (
"context"
"fmt"
"log"
"github.com/portto/solana-go-sdk/client"
"github.com/portto/solana-go-sdk/rpc"
)
func main() {
c := client.NewClient(rpc.DevnetRPCEndpoint)
// get balance
balance, err := c.GetBalance(
context.TODO(),
"RNfp4xTbBb4C3kcv2KqtAj8mu4YhMHxqm1Skg9uchZ7",
)
if err != nil {
log.Fatalf("failed to get balance, err: %v", err)
}
fmt.Printf("balance: %v\n", balance)
// get balance with sepcific commitment
balance, err = c.GetBalanceWithConfig(
context.TODO(),
"RNfp4xTbBb4C3kcv2KqtAj8mu4YhMHxqm1Skg9uchZ7",
rpc.GetBalanceConfig{
Commitment: rpc.CommitmentProcessed,
},
)
if err != nil {
log.Fatalf("failed to get balance with cfg, err: %v", err)
}
fmt.Printf("balance: %v\n", balance)
// for advanced usage. fetch full rpc response
res, err := c.RpcClient.GetBalance(
context.TODO(),
"RNfp4xTbBb4C3kcv2KqtAj8mu4YhMHxqm1Skg9uchZ7",
)
if err != nil {
log.Fatalf("failed to get balance via rpc client, err: %v", err)
}
fmt.Printf("response: %+v\n", res)
}