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  }