solana-go-sdk
solana-go-sdk copied to clipboard
how to get token account
I see the demo:
c.GetTokenAccountBalance(
context.Background(),
"HeCBh32JJ8DxcjTyc6q46tirHR8hd2xj3mGoAcQ7eduL",
)
what the value HeCBh32JJ8DxcjTyc6q46tirHR8hd2xj3mGoAcQ7eduL ? where did it come?
how to get my account usdt amount?
your demo:
func main() {
c := client.NewClient(rpc.DevnetRPCEndpoint)
// token account address
getAccountInfoResponse, err := c.GetAccountInfo(context.TODO(), "HeCBh32JJ8DxcjTyc6q46tirHR8hd2xj3mGoAcQ7eduL")
if err != nil {
log.Fatalf("failed to get account info, err: %v", err)
}
tokenAccount, err := token.TokenAccountFromData(getAccountInfoResponse.Data)
if err != nil {
log.Fatalf("failed to parse data to a token account, err: %v", err)
}
fmt.Printf("%+v\n", tokenAccount)
// {Mint:F6tecPzBMF47yJ2EN6j2aGtE68yR5jehXcZYVZa6ZETo Owner:9aE476sH92Vz7DMPyq5WLPkrKWivxeuTKEFKd2sZZcde Amount:100000000 Delegate:<nil> State:1 IsNative:<nil> DelegatedAmount:0 CloseAuthority:<nil>}
}
but why HeCBh32JJ8DxcjTyc6q46tirHR8hd2xj3mGoAcQ7eduL is Mint:F6tecPzBMF47yJ2EN6j2aGtE68yR5jehXcZYVZa6ZETo Owner:9aE476sH92Vz7DMPyq5WLPkrKWivxeuTKEFKd2sZZcde.
if I have Mint:F6tecPzBMF47yJ2EN6j2aGtE68yR5jehXcZYVZa6ZETo Owner:9aE476sH92Vz7DMPyq5WLPkrKWivxeuTKEFKd2sZZcde, How can I get HeCBh32JJ8DxcjTyc6q46tirHR8hd2xj3mGoAcQ7eduL.
your api is not a circle. even too hard to use. that's why your chain is not popular.
thank you for the reporting. v1.26.0 has been released. could you upgrade it and try to use this one to get token accounts?
package main
import (
"context"
"fmt"
"log"
"github.com/blocto/solana-go-sdk/client"
"github.com/blocto/solana-go-sdk/rpc"
)
func main() {
owner := "9aE476sH92Vz7DMPyq5WLPkrKWivxeuTKEFKd2sZZcde"
mint := "F6tecPzBMF47yJ2EN6j2aGtE68yR5jehXcZYVZa6ZETo"
c := client.NewClient(rpc.DevnetRPCEndpoint)
tokenAccounts, err := c.GetTokenAccountsByOwnerByMint(
context.Background(),
owner,
mint,
)
if err != nil {
log.Fatalf("failed to GetTokenAccountsByOwnerByMint, err: %v", err)
}
for i, tokenAccount := range tokenAccounts {
fmt.Printf("[#%v] token account: %v amount: %v\n", i+1, tokenAccount.PublicKey, tokenAccount.Amount)
}
}