github.com/InjectiveLabs/sdk-go@v1.53.0/examples/chain/auth/query/1_Account/example.go (about) 1 package main 2 3 import ( 4 "context" 5 "fmt" 6 "os" 7 8 authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" 9 10 "github.com/InjectiveLabs/sdk-go/chain/types" 11 chainclient "github.com/InjectiveLabs/sdk-go/client/chain" 12 "github.com/InjectiveLabs/sdk-go/client/common" 13 rpchttp "github.com/cometbft/cometbft/rpc/client/http" 14 ) 15 16 func main() { 17 // network := common.LoadNetwork("mainnet", "k8s") 18 network := common.LoadNetwork("mainnet", "sentry0") 19 tmClient, err := rpchttp.New(network.TmEndpoint, "/websocket") 20 if err != nil { 21 panic(err) 22 } 23 24 senderAddress, cosmosKeyring, err := chainclient.InitCosmosKeyring( 25 os.Getenv("HOME")+"/.injectived", 26 "injectived", 27 "file", 28 "inj-user", 29 "12345678", 30 "5d386fbdbf11f1141010f81a46b40f94887367562bd33b452bbaa6ce1cd1381e", // keyring will be used if pk not provided 31 false, 32 ) 33 34 if err != nil { 35 panic(err) 36 } 37 38 clientCtx, err := chainclient.NewClientContext( 39 network.ChainId, 40 senderAddress.String(), 41 cosmosKeyring, 42 ) 43 44 if err != nil { 45 panic(err) 46 } 47 48 clientCtx = clientCtx.WithNodeURI(network.TmEndpoint).WithClient(tmClient) 49 50 queryClient := authtypes.NewQueryClient(clientCtx) 51 52 ctx, cancelFn := context.WithCancel(context.Background()) 53 defer cancelFn() 54 55 address := "inj1akxycslq8cjt0uffw4rjmfm3echchptu52a2dq" 56 57 res, err := queryClient.Account(ctx, &authtypes.QueryAccountRequest{ 58 Address: address, 59 }) 60 if err != nil { 61 fmt.Println(err) 62 } 63 64 var account types.EthAccount 65 66 clientCtx.Codec.MustUnmarshal(res.GetAccount().GetValue(), &account) 67 68 fmt.Println(account.String()) 69 70 }